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.在写"'''[^']*'''"正则表达式时一开始选择"'''.*'''",此时一旦字符串中有不止两个'''时,正则会匹配第一个和最后一个'''形成的长字符串,不符合要求,使用'''[^']*'''后会进行一对一对的匹配,符合要求