import re content='''hello 1234567 world_this is a regex demo''' result=re.math('^he.*?(d+).*?demo$',content) print(result)
结果呢,什么也无法匹配。因为内容中有换行。先 he,然后 llo空格 小括号匹配1234657 但是 .*? 没办法匹配,因为 . 不匹配换行
解决办法: 这里只需加一个修饰符 re.S,即可修正这 个错误
result=re.math('^he.*?(d+).*?demo$',content,re.S) print(result)
因为re.s是忽略换行对.的影响
常用的还有 re.I 忽略大小写对匹配的影响