1
在Ruby 2.0的正則表達式,我希望有人也許能夠解釋我的錯誤:正則表達式負面後視被忽略?
這種積極的外觀,背後是正確的:
"seacow hotdog".scan(/(?<=hot)(cow|dog)/) # => [["dog"]]
這種負面向後看不起作用:
"seacow hotdog".scan(/(?<!=hot)(cow|dog)/) # => [["cow"], ["dog"]] - INCORRECT
爲什麼?
關於'?<!':「'(?<!pat)'的文檔非常清晰 - 負向後置斷言:確保前面的字符不匹配pat,但不包括那些匹配文字中的字符「 –
謝謝。非常感激。 – Ross
@Ross - 很高興聽到它。你需要其他什麼,或者這是否回答你的問題? – Floris