正则表达式:问号后跟冒号作为替代

时间:2014-02-02 17:13:56

标签: ruby regex cucumber

在rails黄瓜中有这个正则表达式  When /^(?:|I )go to (.+)$/ do |page_name|

我知道?:是一个非捕获组,但当它作为|分隔的替代方案时它意味着什么?

1 个答案:

答案 0 :(得分:7)

这不是一个特殊的群体,只是表示“不匹配或I”:http://www.rubular.com/r/H3iJFLXaab

这应该与写(?:I )?
一样 (或更准确地说,(?:I )?? - 因为空字符串优先于I,另请参阅Is the lazy version of the 'optional' quantifier ('??') ever useful in a regular expression?