Поддерживает ли Ruby условные регулярные выражения - PullRequest
5 голосов
/ 05 февраля 2010

Просто вопрос о языковой функции, я знаю, что есть много способов сделать это за пределами регулярных выражений (или с несколькими регулярными выражениями).

Поддерживает ли ruby ​​ условные регулярные выражения ? По сути, ветвь IF-THEN-ELSE внутри регулярного выражения, где предикатом для IF является наличие (или отсутствие) захваченной группы в выражении.

В Perl синтаксис (?(predicate)yes-pattern|no-pattern), как в

/(?:y|(x))(?(1)y|x)/

Мне не удалось найти ссылки на что-либо подобное в каких-либо рубиновых документах, которые я просматривал, но я решил попросить здесь убедиться в том, что я искал неправильные слова, или оно было исключено из документов.

Ответы [ 2 ]

4 голосов
/ 05 февраля 2010

Нет, ruby ​​не поддерживает это (ни в 1.8, ни в 1.9).

0 голосов
/ 20 февраля 2011

FWIW, Python начал поддерживать это начиная с 2.4: http://docs.python.org/library/re#regular-expression-syntax

...