Python-正则去掉代码的中的两种注释

Python-正则去掉代码的中的两种注释

代码

def txtSubExp(txt):
    # 删除Python中的#注释
    txt=re.sub(r'#.*$', "", txt,flags=re.M)
    # 删除python中的''''''注释
    return re.sub(r"'''[^']*'''", "", txt,flags=re.M and re.S)

Tips

1.将.py读取成字符串,则字符串中有很多换行符,使用re.M模式可以匹配多行的的#注释
2.''''''注释包含多行,而一般的正则匹配只在一行内进行匹配,所以在选择re.S模式,此时.匹配的符号包括换行符
3.在写"'''[^']*'''"正则表达式时一开始选择"'''.*'''",此时一旦字符串中有不止两个'''时,正则会匹配第一个和最后一个'''形成的长字符串,不符合要求,使用'''[^']*'''后会进行一对一对的匹配,符合要求

posted @ 2022-06-01 16:45  梧桐灯下江楚滢  阅读(897)  评论(0编辑  收藏  举报