我有以下的正则表达式:正则表达式排除括号
[^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