神剑山庄资源网 Design By www.hcban.com

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贪婪匹配以及多行匹配的实例讲解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

标签:
python,贪婪匹配

神剑山庄资源网 Design By www.hcban.com
神剑山庄资源网 免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
神剑山庄资源网 Design By www.hcban.com

评论“python贪婪匹配以及多行匹配的实例讲解”

暂无python贪婪匹配以及多行匹配的实例讲解的评论...