這是我查找電話號碼如何用regex完全忽略這一行? (超前不工作)
(([0-9]{3}[-./ ]{0,1}[0-9]{3}[-./ ]{0,1}[0-9]{4}))|([(][0-9) ]{4,5}[0-9]{3}[-]{0,1}[0-9]{4})
看到它,行動正則表達式 - http://regexr.com/3dsbk
我的目標是互不理睬的結果,如果其前面的符號爲#
我試着加入負先行,如:
(?!#)(([0-9]{3}[-./ ]{0,1}[0-9]{3}[-./ ]{0,1}[0-9]{4}))|([(][0-9) ]{4,5}[0-9]{3}[-]{0,1}[0-9]{4})
但它不工作。
問題是消極的lookahead看起來......好吧...提前。它看起來是否從_match_的第一個位置開始,正則表達式不匹配。你會想要一個向後看,哪些Javascript沒有。 – bwoebi
JS不夠複雜,無法「忽略」任何東西,更不用說了。做到這一點的方法是與違規者相匹配,然後在匹配某事後忽略它。 '([#])?((?:[0-9] {3} [ - 。/]?){2} [0-9] {4} | [(] [0-9) 5} [0-9] {3} - ?[0-9] {4})'如果捕獲組1匹配忽略它。 – sln