首次满足模式条件时终止正则表达式搜索

问题描述 投票:0回答:1

我试图在数据处理过程中在python中运行sql脚本,我使用的脚本文件包含由/**/包围的注释,我想删除这些注释。由于我可能在单个文件中具有多行注释和多注释块,因此我正在使用

re.sub('/\*((?!/\*).)*/\*','',cmd,flags=re.DOTALL)

但是上面的代码只会替换那些多行注释并忽略单行注释。现在我很困惑如何让它发挥作用

python regex
1个回答
0
投票

尝试:

import re

cmd="""START
someCmd /* single line comment */
/* multiline
comment */ andReminderCmd
END
"""
print( re.sub( '/\*.*?\*/', '' , cmd,flags=re.DOTALL) )

打印:

START
someCmd 
 andReminderCmd
END
© www.soinside.com 2019 - 2024. All rights reserved.