regex 正则表达式匹配未注解掉的行

b4wnujal  于 2023-05-08  发布在  其他
关注(0)|答案(2)|浏览(86)

给定以下代码

print("aaa")
#print("bbb")
# print("ccc")

def doSomething():
    print("doSomething")

如何在Atom文本编辑器中使用正则表达式找到所有未注解掉的print函数?我的意思是我只想匹配print("aaa")print("doSomething")中的print s。
我试过[^#]print,但这也匹配# print("ccc")中的print,这是不希望的。
[^# ]print不匹配这里的任何行。
我这样做的原因是我想禁用由其他人编写的遗留项目中的日志消息。

u4vypkhs

u4vypkhs1#

既然您确认了我的第一个建议(^(?![ \t]*#)[ \t]*print)对您有效(我删除了第一个评论),我相信您只想在单行上找到print
\s匹配任何空格,包括换行符如果只需要匹配制表符或空格,请使用[ \t]字符类。
使用

^[ \t]*print

或者(为了不找到任何printer s,这样做更安全一点):

^[ \t]*print\(
pqwbnv8z

pqwbnv8z2#

如果你只想匹配print(而不是所有参数),你可以用途:

^\s*(print)

相关问题