Ruby支持条件正则表达式吗
这只是一个关于语言特性的提问,我知道有很多方法可以做到这一点,不一定非得用正则表达式(或者用多个正则表达式)。
请问,Ruby支持条件正则表达式吗?简单来说,就是在正则表达式里面有一个IF-THEN-ELSE的分支,其中IF的条件是看某个捕获组是否存在(或者不存在)。
在Perl中,语法是(?(predicate)yes-pattern|no-pattern)
,就像下面这样:
/(?:y|(x))(?(1)y|x)/
我在浏览的Ruby文档中没有找到任何类似的参考,所以我想在这里问一下,以防我搜索的词不对,或者文档中没有提到这个内容。
2 个回答
-1
顺便提一下,Python 从 2.4 版本开始就支持这个功能了:http://docs.python.org/library/re#regular-expression-syntax
4
不,Ruby不支持这个功能(无论是1.8版本还是1.9版本都不支持)。