正则表达式中的匹配选项 - 但实际上不返回匹配

时间:2012-07-25 21:07:31

标签: regex

使用rubular.com作为指导,我试图让这个表达式正常工作。

^((move|travel|fly) (.+) pixels)

基本上,匹配

移动5个像素

飞10像素

旅行3个像素

我得到的比赛是:

  1. 移动5像素

  2. 移动

  3. 5

  4. 问题是我不想返回选项的匹配项。有没有办法匹配正则表达式但不返回该选项中的匹配项? 理想情况下会是:

    1. 移动5像素

    2. 5

    3. 先谢谢!

2 个答案:

答案 0 :(得分:2)

使用非捕获组:

^((?:move|travel|fly) (.+) pixels)

查看在线工作:rubular

答案 1 :(得分:0)

使用组中的?:选项阻止其存储并用作反向引用。

^((?:move|travel|fly) (.+) pixels)