Python的re模块中, search、 findall、 match等函数的参数都是 (pattern,string,flags), 第三个参数 flags有忽略大小写的re.I, 让模式更易读的...re.X等, 而其中re.S和re.M比较难理解, 下面介绍一下。...本来, ^只匹配字符串的开头, $只匹配字符串结尾, .不匹配换行符。...$"
print(re.findall(pattern, text)) # 输出为[]
re.S做的事情是: 让.也匹配换行符。
re.M做的事情是: 让^匹配每行的开头,$匹配每行的结尾。...因此用 re.S, pattern就能匹配到整个字符串:
# 让.匹配换行符
print(re.findall(pattern, text, re.S))
# 输出为 ['First line.