我正在尝试解析带有负前瞻的行,但我无法理解它。
所以,如果我有一条线,例如int a = sincos(a, &a);
我如何使用正则表达式来解析上面的行,使其匹配a
除带有的行之外的所有行&
?
谢谢。
我正在尝试解析带有负前瞻的行,但我无法理解它。
所以,如果我有一条线,例如int a = sincos(a, &a);
我如何使用正则表达式来解析上面的行,使其匹配a
除带有的行之外的所有行&
?
谢谢。
我认为您实际上对这里的负面回顾感兴趣。您希望其实例a
前面没有&
.
\b(?<!&)a\b
此模式查找a
由单词边界分隔\b
且前面没有紧跟 & 符号的实例(?<!&)
。
包括单词边界可以防止a
在其他单词中间进行匹配,否则您将有 5 个匹配项,如下所示:
var a = calculate(a, &a);
这是你要找的东西吗?
除了 & 之外的任何东西上的非捕获组,并且有一个单独的“a”组
这个会做你想做的:
/(?<!&)a/i