可选的Regex组失败0次?

时间:2014-04-15 15:18:06

标签: regex

这是我的正则表达式声明:

^I (?:click|choose) (?:the)? option (.+) from the (.+) (?:select|dropdown)$

以下是测试结果:

  
    

我点击otherThing下拉列表中的选项

  

以下是测试结果:

  
    

我从otherThing下拉列表中单击选项内容

  

我的印象是'?'的意思 the preceding character occurs 0 or 1 times only

那么为什么一次失败但0次失败?

1 个答案:

答案 0 :(得分:4)

the是可选的,但它周围的空格不是。您的正则表达式希望如果the没有出现,click / chooseoption之间应该有两个空格。

尝试将模式更改为:

^I (?:click|choose) (?:the )?option (.+) from the (.+) (?:select|dropdown)$