首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用于匹配的正则表达式不是先找到一个单词,然后再查找另一个单词

用于匹配的正则表达式不是先找到一个单词,然后再查找另一个单词
EN

Stack Overflow用户
提问于 2012-06-04 17:23:10
回答 2查看 48关注 0票数 0

我好像搞不懂什么是注册表。expr.符号符合我的需求:

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

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

代码语言:javascript
复制
DEBUG_LVL_1(printf("some text");)

然而,这并不是总是和所有的情况-有时我有没有宏包装器的printf语句。我想搜索并替换这些案例...也就是说,没有DEBUG_LVL_宏,但存在一条printf语句...

我该怎么做?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-06-04 17:32:33

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

代码语言:javascript
复制
^(?!.*DEBUG_LVL_1).*printf

(?!^.*DEBUG_LVL_1)是一个negative lookahead assertion,如果在字符串中的某个位置找到DEBUG_LVL_1,则此操作将失败。

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

查看here on Regexr

票数 1
EN

Stack Overflow用户

发布于 2012-06-04 17:34:22

这里是^((?!DEBUG_LVL_1)printf.*)$,顺便说一句,使用这个站点的http://rubular.com来检查你的regexp

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10879016

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档