具有负前瞻性的正则表达式

时间:2012-09-24 16:33:54

标签: regex

我正在尝试用负面预测解析一条线,但我无法理解它。

所以,如果我有一行int a = sincos(a, &a);

如何使用正则表达式解析上面的行,使其匹配除a之外的所有&

感谢。

3 个答案:

答案 0 :(得分:1)

我认为你实际上对这里的消极观察感兴趣。您希望a的实例前面没有&

\b(?<!&)a\b

此模式会查找a的实例,这些实例由字边界\b分隔,并且不会立即以&符号(?<!&)开头。

包含单词边界会阻止在其他单词的中间匹配a,否则您将有以下5个匹配项:

var a = calculate(a, &a);

答案 1 :(得分:1)

this你正在寻找什么样的东西?

除了&amp;以及与单独的'a'组

之外的任何事物上的非捕获组

答案 2 :(得分:0)

这个会做你想做的事:

/(?<!&)a/i