我正在尝试组合一个正则表达式模式,该模式匹配包含单词“front”的字符串,并且不包含单词“square”。我可以单独完成这项工作,但我很难将它们组合在一起。
前面= YES
^((?=front).)*$
square = NO
^((?!square).)*$
但是,如何将这些组合成单个正则表达式?
答案 0 :(得分:3)
您只能使用一个负向前瞻:
/^(?!.*square).*front/
(?!.*square)
出现在输入中的任何位置,则square
是断言预告失败^.*front
会在输入front
答案 1 :(得分:0)
您可以使用前瞻断言来表达逻辑和:
最终模式看起来像这样:
^(?=.*?front)(?!.*square)