我似乎无法弄清楚什么是reg。 EXPR。符号符合我的需要:
我在DEBUG()宏中包装了一些调试代码...
所以例如在日志级别1中打印一些调试输出我使用以下代码:
DEBUG_LVL_1(printf("some text");)
虽然这种情况并非总是如此 - 但有时我会使用没有宏包装器的printf语句。 我想做一个搜索并替换那些情况......即没有DEBUG_LVL_宏的地方,但是存在一个printf语句......
我该怎么做?
答案 0 :(得分:1)
如果您选择的语言/工具支持前瞻,则可以使用
^(?!.*DEBUG_LVL_1).*printf
(?!^.*DEBUG_LVL_1)
是negative lookahead assertion,如果在字符串中的某处找到DEBUG_LVL_1
,则会失败。
因此,此正则表达式将匹配printf
,但前提是同一行中某处没有DEBUG_LVL_1
。
答案 1 :(得分:1)
在这里,^((?!DEBUG_LVL_1)printf.*)$
顺便说一下,使用此网站http://rubular.com来检查您的正则表达式