>>re.findall(r"a(\d+)","a23b")注意比较这种情况:>>>re.findall(r"a(\d+)b","a23b")>>>re.findal; 蝙蝠岛资源网更新日期:2026/1/4">

python贪婪匹配以及多行匹配的实例讲解

(编辑:jimmy 日期: 2026/1/4 浏览:2)

1 非贪婪flag

> re.findall(r"a(\d+", "a23b")
  ['2']
> re.findall(r"a(\d+)", "a23b")
  ['23']

注意比较这种情况:

> re.findall(r"a(\d+)b", "a23b")
  ['23']
> re.findall(r"a(\d+", "a23b")
  ['23']

2 如果你要多行匹配,那么加上re.S和re.M标志

re.S:.将会匹配换行符,默认.不会匹配换行符

> re.findall(r"a(\d+)b.+a(\d+)b", "a23b\na34b")
  []
> re.findall(r"a(\d+)b.+a(\d+)b", "a23b\na34b", re.S)
  [('23', '34')]
>

re.M:^$标志将会匹配每一行,默认^和$只会匹配第一行

> re.findall(r"^a(\d+)b", "a23b\na34b")
  ['23']
> re.findall(r"^a(\d+)b", "a23b\na34b", re.M)
  ['23', '34']

但是,如果没有^标志,

> re.findall(r"a(\d+)b", "a23b\na23b")
  ['23', '23']

以上这篇python贪婪匹配以及多行匹配的实例讲解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

一句话新闻

Windows上运行安卓你用过了吗
在去年的5月23日,借助Intel Bridge Technology以及Intel Celadon两项技术的驱动,Intel为PC用户带来了Android On Windows(AOW)平台,并携手国内软件公司腾讯共同推出了腾讯应用宝电脑版,将Windows与安卓两大生态进行了融合,PC的使用体验随即被带入到了一个全新的阶段。