我有一个正则表达式,可以搜索大型代码库以查找用作类型或变量的特定令牌的使用情况。假设令牌是“foo”,我想将其作为作品本身来查找。
我最初的正则表达式是这样的:
foo$|foo\s|foo\[|foo\*|<foo|foo>
匹配: foo 在行尾, foo 带有空格, foo 指针, foo 在集合中,等等...
我想排除C++ 注释框中的实例。比如下面的例子。
// consume the foo and read another.
我尝试使用负前瞻来修改正则表达式,但这似乎不起作用
(?!\/\/).*(foo$|foo\s|foo\[|foo\*|<foo|foo>)
任何人都知道如何在正则表达式中做到这一点?
更新:
我只是想随便过滤掉在目标模式之前可能有两个正斜杠的行。我不关心嵌套注释、C 风格注释 (/* */) 或任何跨越多行的内容。