LINUX.ORG.RU

ruby, regexp


0

0
Помогите с такой штукой в ruby (а может и не только в ruby).

Есть строка, мы в ней нашли по регэкспу (неважно как - grep, scan...) определённые символы, как дальше работать только с тем текстом в данной строке который ДО или ПОСЛЕ этого вхождения регэкспа?

Как вообще в принципе регэкспами делать "найти далее"? :) Объясните саму технологию.


Ответ на: комментарий от Sigiz
> /искомый_текст(.*)/ $1 - найденное далее

Смысл понял, даже работает...

Ещё вопрос - откуда оно узнаёт что $1 это только последние скобки, а не весь регэксп?

tx
() автор топика
Ответ на: комментарий от tx
Оно узнает не последние скобки, а как раз первые=) Там по номерам группа матчингов (те что в скобках).
dizza ★★★★★
()
Ответ на: комментарий от dizza
ОК, понял.

Ну и напоследок, как пропустить текущий элемент в .each и перейти к следующему? Хочется какое-то более изящное решение, чем убирать весь код под здоровенный if... Неужели нету такого?

tx
() автор топика
Ответ на: комментарий от Sigiz
Перерыл Core API, Standard Library и User Guide - нет там такого.

Вспомнив бейсик додумался до конструкции типа if .... then next end, но на будущее - где такие вещи посмотреть можно? В упомянутых выше доках этого НЕТ.

tx
() автор топика
Ответ на: комментарий от tx
> Вспомнив бейсик додумался до конструкции типа if .... then next end

Лучше в данном случае применить такой синтаксис "next if ...."

smh ★★★
()
Всем спасибо, со всем разобрался.
tx
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.