Ruby正则表达式匹配优先级

时间:2011-10-21 08:10:53

标签: ruby regex

如何修改以下正则表达式以阻止第一个匹配部分抓住第二个?我正在使用Ruby 1.9.2,如果这有所不同。

/\Aasync_([a-zA-Z]\w*)(_at|_in)?\z/

1 个答案:

答案 0 :(得分:4)

您可以制作* quantifier lazy

/\Aasync_([a-zA-Z]\w*?)(_at|_in)?\z/

\w*?表示“匹配任意数量的字母数字字符,但尝试尽可能少地匹配,同时仍允许整体正则表达式匹配”。