我試圖把一個正則表達式模式,匹配一個字符串,包含單詞「前」,並不包含單詞「平方」。我可以單獨完成這項工作,但無法將它們放在一起。JavaScript的正則表達式:字符串包含此,但不是
前面= YES
^((?=front).)*$
平方= NO
^((?!square).)*$
然而,如何予這些組合成單正則表達式表達?
我試圖把一個正則表達式模式,匹配一個字符串,包含單詞「前」,並不包含單詞「平方」。我可以單獨完成這項工作,但無法將它們放在一起。JavaScript的正則表達式:字符串包含此,但不是
前面= YES
^((?=front).)*$
平方= NO
^((?!square).)*$
然而,如何予這些組合成單正則表達式表達?
您可以使用lookahead斷言來表達邏輯和:
最終的模式將看起來像:
^(?=.*?front)(?!.*square)
的答案在這裏是正確的,但爲什麼要使用正則表達式?爲什麼不只是'(text.indexOf('front')> = 0)&&(text.indexOf('square')=== -1)'? – smarx
或者ES6'text.includes(「front」)&&!text.includes(「square」)'(但還沒有完全支持) – Arnauld