如果你要多行匹配,那么需要加上
re.S
和
re.M
标志. 加上
re.S
后,
.
将会匹配换行符,默认
.
不会匹配换行符. 代码如下:
str = "a23b\na34b" re.findall(r"a(\d+)b.+a(\d+)b", str) #输出[] #因为不能处理str中间有\n换行的情况 re.findall(r"a(\d+)b.+a(\d+)b", str, re.S) #s输出[('23', '34')]
加上
re.M
后,
^$
标志将会匹配每一行,默认
^
和
$
只会匹配第一行. 代码如下:
str = "a23b\na34b" re.findall(r"^a(\d+)b", str) #输出['23'] re.findall(r"^a(\d+)b", str, re.M) #输出['23', '34']
本文转载自: https://blog.csdn.net/woaichixiaodangao/article/details/121398628
版权归原作者 放星星的绵羊 所有, 如有侵权,请联系我们删除。
版权归原作者 放星星的绵羊 所有, 如有侵权,请联系我们删除。