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

 更新时间:2018年04月19日 10:22:49   作者:踏实_进取  
下面小编就为大家分享一篇python贪婪匹配以及多行匹配的实例讲解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

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

相关文章

  • Django时区详解

    Django时区详解

    这篇文章主要介绍了Django时区详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-07-07
  • python多线程共享变量的使用和效率方法

    python多线程共享变量的使用和效率方法

    今天小编就为大家分享一篇python多线程共享变量的使用和效率方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-07-07
  • Python实例之wxpython中Frame使用方法

    Python实例之wxpython中Frame使用方法

    本文介绍下wxpython中Frame的用法,不错的python编程实例,有需要的朋友参考下
    2014-06-06
  • python中语法糖的妙用分享

    python中语法糖的妙用分享

    在Python中,语法糖是指一些为了增加代码的可读性、易用性和简洁性而添加的特性,本文为大家整理了一些python中常见语法糖的使用,需要的小伙伴可以了解下
    2023-11-11
  • Python字典删除键值对和元素的四种方法(小结)

    Python字典删除键值对和元素的四种方法(小结)

    删除列表或者字符串元素的方法不止一种,同样,删除字典元素的方法也不止一种,本文主要介绍python中删除字典元素的四种方法:1、使用del语句;2、使用clear();3、使用pop();4、使用popitem()。感兴趣的可以了解一下
    2021-12-12
  • Python 多线程超详细到位总结

    Python 多线程超详细到位总结

    线程在程序中是独立的、并发的执行流。与分隔的进程相比,进程中线程之间的隔离程度要小,它们共享内存、文件句柄和其他进程应有的状态。线程的划分尺度小于进程,使多线程程序的并发性高。进程在执行过程中拥有独立内存单元,而多个线程共享内存,从而提升程序运行效率
    2021-11-11
  • python实战之90行代码写个猜数字游戏

    python实战之90行代码写个猜数字游戏

    这篇文章主要介绍了python实战之90行代码写个猜数字,文中有非常详细的代码示例,对正在学习python的小伙伴们有很大的帮助,需要的朋友可以参考下
    2021-04-04
  • Python 中给请求设置用户代理 User-Agent的方法

    Python 中给请求设置用户代理 User-Agent的方法

    本文介绍 HTTP 标头用户代理主题以及如何使用 Python 中的请求设置用户代理,您将了解 HTTP 标头及其在理解用户代理、获取用户代理以及学习使用 Python 中的请求设置用户代理的多种方法方面的重要性,感兴趣的朋友跟随小编一起看看吧
    2023-06-06
  • Python使用Matplotlib绘制三维散点图详解流程

    Python使用Matplotlib绘制三维散点图详解流程

    matplotlib是基建立在python之上,适用于创建静态,动画和交互式可视化,通常与数据分析模块pandas搭配使用,用于数据的分析和展示,适用于主流的操作系统,如Linux、Win、Mac
    2022-11-11
  • Python基于DB-API操作MySQL数据库过程解析

    Python基于DB-API操作MySQL数据库过程解析

    这篇文章主要介绍了Python基于DB-API操作MySQL数据库过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-04-04

最新评论