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
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.