我有以下的正則表達式:正則表達式排除括號
[^a-zA-Z0-9](est)[^a-zA-Z0-9]
測試字符串:
this is a test [est+where] esterius
它應該只突出了第一個 「EST」。可悲的是括號[和+符號也匹配。但我只想要我的話,「EST」進行匹配,如果字符之前和之後的非字母而不是數字
我有以下的正則表達式:正則表達式排除括號
[^a-zA-Z0-9](est)[^a-zA-Z0-9]
測試字符串:
this is a test [est+where] esterius
它應該只突出了第一個 「EST」。可悲的是括號[和+符號也匹配。但我只想要我的話,「EST」進行匹配,如果字符之前和之後的非字母而不是數字
你應該使用向前看符號和lookbehinds的:
(?<=[^a-zA-Z0-9])est(?=[^a-zA-Z0-9])
未經基本上匹配的東西包括在最後的比賽中。
哇,這個伎倆,非常感謝! –
謝謝我也不知道 –
你不需要看看,只需訪問捕獲組('match.Groups [1] .Value') –
我同意@WiktorStribiżew你根本不需要周圍的環境。您的捕獲組已經完全包含您需要的內容。我真的認爲下面接受的答案是矯枉過正的。更不用說,在所有正則表達式中都不支持這種外觀,所以如果你需要移植到JavaScript,下面的內容不起作用。 – Jeroen