正则表达式,用于匹配NOT查找单词,然后找到另一个单词

时间:2012-06-04 09:23:10

标签: regex

我似乎无法弄清楚什么是reg。 EXPR。符号符合我的需要:

我在DEBUG()宏中包装了一些调试代码...

所以例如在日志级别1中打印一些调试输出我使用以下代码:

DEBUG_LVL_1(printf("some text");)

虽然这种情况并非总是如此 - 但有时我会使用没有宏包装器的printf语句。 我想做一个搜索并替换那些情况......即没有DEBUG_LVL_宏的地方,但是存在一个printf语句......

我该怎么做?

2 个答案:

答案 0 :(得分:1)

如果您选择的语言/工具支持前瞻,则可以使用

^(?!.*DEBUG_LVL_1).*printf

(?!^.*DEBUG_LVL_1)negative lookahead assertion,如果在字符串中的某处找到DEBUG_LVL_1,则会失败。

因此,此正则表达式将匹配printf,但前提是同一行中某处没有DEBUG_LVL_1

here on Regexr

答案 1 :(得分:1)

在这里,^((?!DEBUG_LVL_1)printf.*)$顺便说一下,使用此网站http://rubular.com来检查您的正则表达式