欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

正则表达示

程序员文章站 2022-05-06 12:04:05
...

1.关于re.M

加上re.M后^$标志将会匹配每一行,

>>> re.findall(r"^a(\d+)b","a23b\na34b",re.M)

['23','34']

 

默认^只会匹配符合正则的第一行;默认$只会匹配符合正则的末行

>>> re.findall(r"^a(\d+)b","a23b\na34b")

['23']

 

但是,如果没有^标志, 会匹配所有行

>>> re.findall(r"a(\d+)b","a23b\na34b")

['23','43']

可见,在没有^或$时是无需re.M的

 

 

2.关于re.S

加上re.S后.号将会匹配换行符

>>> re.findall(r"a(\d+)b.+a(\d+)b","a23b\na34b",re.S)

[('23','34')]

 

默认.号不会匹配换行符

>>> re.findall(r"a(\d+)b.+a(\d+)b","a23b\na34b")

[]

 

 

相关标签: 正则