Ruby支持条件正则表达式
只是一个语言function问题,我知道有很多方法可以在正则表达式(或多个正则表达式)之外执行此操作。
ruby是否支持条件正则表达式 ? 基本上,正则表达式中的IF-THEN-ELSE分支,其中IF的谓词是表达式中捕获的组的存在(或缺失)。
在perl中,语法是(?(predicate)yes-pattern|no-pattern)
如
/(?:y|(x))(?(1)y|x)/
在我浏览过的任何ruby文档中,我都找不到任何类似的东西,但我想我会在这里要求确保,以防我在搜索错误的单词,或者它被删除了来自文档。
不,ruby不支持(1.8和1.9都不支持)。
FWIW,Python从2.4开始支持这个: http : //docs.python.org/library/re#regular-expression-syntax