比如:
print(re.findall(r'invariant.*?end\s*;', protocol, re.S))
filter_file = re.sub(r'invariant.*?end\s*;','',protocol, re.S)
findall能找到,但是sub却替换不了。
原因:要跨行替换,需要设置参数flags=re.S。也就是说:
filter_file = re.sub(r'invariant.*?end\s*;','',protocol, flags=re.S)
注意:‘flags’参数名最好不要省略,否则不会报错,但是会替换失败