javascript regex:string包含这个,但不是

时间:2016-08-01 17:00:00

标签: javascript regex

我正在尝试组合一个正则表达式模式,该模式匹配包含单词“front”的字符串,并且不包含单词“square”。我可以单独完成这项工作,但我很难将它们组合在一起。

前面= YES

 ^((?=front).)*$

square = NO

 ^((?!square).)*$

但是,如何将这些组合成单个正则表达式?

2 个答案:

答案 0 :(得分:3)

您只能使用一个负向前瞻:

/^(?!.*square).*front/
    如果(?!.*square)出现在输入中的任何位置,则
  • square是断言预告失败
  • ^.*front会在输入
  • 的任何位置匹配front

答案 1 :(得分:0)

您可以使用前瞻断言来表达逻辑和:

最终模式看起来像这样:

^(?=.*?front)(?!.*square)