我想這正則表達式帶有特殊字符的正則表達式是無效的?
(?<!(John|Joe)) (Taylor)
在這個文本 John James Taylor
但我正在逐漸「失效模式的回顧後」在這裏http://www.rubular.com/r/TjD2d4oG5z
我想匹配不「泰勒」在它之前有約翰或喬。
請提出任何提示?
我想這正則表達式帶有特殊字符的正則表達式是無效的?
(?<!(John|Joe)) (Taylor)
在這個文本 John James Taylor
但我正在逐漸「失效模式的回顧後」在這裏http://www.rubular.com/r/TjD2d4oG5z
我想匹配不「泰勒」在它之前有約翰或喬。
請提出任何提示?
嘗試以下操作:
(?<!(?:John|Joe)) (Taylor)
(?:)
是一個非捕獲組,這使得在環視有道理的,因爲你只是做一個斷言,實際上並不匹配什麼。或者只是一起刪除捕獲組,即(?<!John|Joe)
。
我認爲不需要非捕獲組。 – xdazz
@xdazz:不是,是的。我只是想指出,使用捕獲組是原始正則表達式無效的原因。 –
嘗試:
/(?<!John|Joe) (Taylor)/
是您的正則表達式風味接受可變長度的回顧後?他們大多沒有。 – Toto
謝謝!只是發現變量長度不能在這個評論中找到:http://stackoverflow.com/questions/3479131/problem-with-quantifiers-and-look-behind 此外,兩個答案正在與提出的變化,但不是如果我像\ w +添加sg,因爲這是一個可變長度量詞,因爲我現在明白了:)。 – giorgio79