我發現許多類似的questions不適用於Go regex syntax。有沒有一種方法可以匹配除了使用Go.Regexp的常量字符串以外的所有內容?
我試圖匹配的字符串的形式是anything/anything/somestring
。使用\/.*\/.*\/(.*)
的模式,我將匹配somestring
,但我試圖匹配除包含somestring
的字符串之外的任何內容。
大多數答案建議使用類似\/.*\/.*\/((?!somestring).*)
,但是在golang正則表達式中我得到:? The preceding token is not quantifiable
。
澄清:/test/test/MATCH
會產生匹配,而/test/test/somestring
不會。這可能與(有限)Go正則表達式語法?
看起來幾乎一切都是_NOT SUPPORTED_。它真的是一個正則表達式引擎嗎?無論如何,斷言不可用(它說),所以'(?!somestring)',這是你所需要的,已經不存在了。唯一的解決方法是在while循環中使用正則表達式'\ /.* \ /.* \ /(。*)'。每個匹配,字符串比較組1與'somestring'。 – sln
RE2(Go實現)不支持lookarounds。只需自己檢查一下submatches。 – JimB