正则表达式 - 没有组之前或之后的东西?

时间:2015-07-25 17:28:45

标签: regex

我想匹配以下任何一种情况:

blue car
car blue
red car
car red

我正在使用这种模式: /(car\s)?(red|blue)(\scar)?/

但此模式也会在{/ 1}}或red之前与之前/之后没有单词blue匹配。

如果不使用组或多种模式,可以这样做吗?

1 个答案:

答案 0 :(得分:1)

您可以在PCRE中使用条件子模式:

(?:\b(car)\s+)?\b(?:red|blue)\b(?(1)\s*|\s+car\b)

RegEx Demo