我发现许多类似的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