标签: ruby regex
如何修改以下正则表达式以阻止第一个匹配部分抓住第二个?我正在使用Ruby 1.9.2,如果这有所不同。
/\Aasync_([a-zA-Z]\w*)(_at|_in)?\z/
答案 0 :(得分:4)
您可以制作* quantifier lazy:
*
/\Aasync_([a-zA-Z]\w*?)(_at|_in)?\z/
\w*?表示“匹配任意数量的字母数字字符,但尝试尽可能少地匹配,同时仍允许整体正则表达式匹配”。
\w*?