最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python正則表達式非貪婪、多行匹配功能示例

 更新時間:2017年08月08日 10:09:16   作者:damotiansheng  
這篇文章主要介紹了Python正則表達式非貪婪、多行匹配功能,結合實例形式分析了Python正則表達式中非貪婪及多行匹配功能的實現(xiàn)方法與相關注意事項,需要的朋友可以參考下

本文實例講述了Python正則表達式非貪婪、多行匹配功能。分享給大家供大家參考,具體如下:

一些regular的tips:

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\na34b")
    ['23','43']

可見,是無需re.M

import re
n='''12 drummers drumming,
11 pipers piping, 10 lords a-leaping'''
p=re.compile('^\d+')
p_multi=re.compile('^\d+',re.MULTILINE) #設置 MULTILINE 標志
print re.findall(p,n) #['12']
print re.findall(p_multi,n) # ['12', '11']

import re
a = 'a23b'
print re.findall('a(\d+?)',a) #['2']
print re.findall('a(\d+)',a) #['23']
print re.findall(r'a(\d+)b',a) #['23']
print re.findall(r'a(\d+?)b',a) # ['23']

b='a23b\na34b'
''' . 匹配非換行符的任意一個字符'''
print re.findall(r'a(\d+)b.+a(\d+)b',b) #[]
print re.findall(r'a(\d+)b',b,re.M) # ['23', '34']
print re.findall(r'^a(\d+)b',b,re.M) # ['23', '34']
print re.findall(r'a(\d+)b',b) #['23','34'] 可以匹配多行
print re.findall(r'^a(\d+)b',b) # ['23'] 默認^只會匹配符合正則的第一行
print re.findall(r'a(\d+)b$',b) # ['34'] 默認$只會匹配符合正則的末行
print re.findall(r'a(\d+)b',b,re.M) #['23', '34']
print re.findall(r'a(\d+)b.?',b,re.M) # ['23', '34'] 表達式中的'.'匹配除換行符以外的字符,'?'匹配前一個字符0次或1次
print re.findall(r"a(\d+)b", "a23b\na34b") # ['23', '34']

注:Python3.4中,print為函數(shù),需要加括號

PS:這里再為大家提供2款非常方便的正則表達式工具供大家參考使用:

JavaScript正則表達式在線測試工具:
http://tools.jb51.net/regex/javascript

正則表達式在線生成工具:
http://tools.jb51.net/regex/create_reg

更多關于Python相關內容可查看本站專題:《Python正則表達式用法總結》、《Python數(shù)據(jù)結構與算法教程》、《Python函數(shù)使用技巧總結》、《Python字符串操作技巧匯總》、《Python入門與進階經(jīng)典教程》及《Python文件與目錄操作技巧匯總

希望本文所述對大家Python程序設計有所幫助。

相關文章

  • Python列表推導式、字典推導式與集合推導式用法實例分析

    Python列表推導式、字典推導式與集合推導式用法實例分析

    這篇文章主要介紹了Python列表推導式、字典推導式與集合推導式用法,結合實例形式分析了Python三種推導式的概念、使用方法及相關注意事項,需要的朋友可以參考下
    2018-02-02
  • python中Task封裝協(xié)程的知識點總結

    python中Task封裝協(xié)程的知識點總結

    在本篇內容里小編給大家總結的是一篇關于python中Task封裝協(xié)程的知識點總結內容,有興趣的朋友們可以跟著學習下。
    2021-07-07
  • 使用python實現(xiàn)一個瀏覽器自動化的腳本

    使用python實現(xiàn)一個瀏覽器自動化的腳本

    最近工作中有這樣一個需求:客戶反饋在瀏覽器操作過程中,重復流程操作太頻繁,能不能讓瀏覽器自動操作完成?所以本文給大家介紹了如何使用python實現(xiàn)一個瀏覽器自動化的腳本,感興趣的朋友可以參考下
    2024-04-04
  • python和php學習哪個更有發(fā)展

    python和php學習哪個更有發(fā)展

    在本篇內容里小編給大家分析了關于python和php學習哪個更有發(fā)展相關論點,有興趣的朋友們參考下。
    2020-06-06
  • linux系統(tǒng)使用python獲取內存使用信息腳本分享

    linux系統(tǒng)使用python獲取內存使用信息腳本分享

    這篇文章主要介紹了linux系統(tǒng)使用python獲取內存使用情況信息,大家參考使用吧
    2014-01-01
  • java直接調用python腳本的例子

    java直接調用python腳本的例子

    有時需求使用JAVA直接調用python腳本,執(zhí)行一些服務器監(jiān)控的事情。 本文給出一個java直接調用python腳本的例子
    2014-02-02
  • Python爬蟲基礎之requestes模塊

    Python爬蟲基礎之requestes模塊

    這篇文章主要介紹了Python爬蟲基礎之requestes模塊,文中有非常詳細的代碼示例,對正在學習python爬蟲的小伙伴們有非常好的幫助,需要的朋友可以參考下
    2021-04-04
  • 利用Python自動化生成愛豆日歷詳解

    利用Python自動化生成愛豆日歷詳解

    openpyxl,一個能讀取和修改Excel電子表格的Pyhton模塊,可以實現(xiàn)自動化處理表格信息,擺脫無趣無味。本文將利用openpyxl和calendar庫,實現(xiàn)自動化生成愛豆日歷,感興趣的可以了解一下
    2022-05-05
  • python3+PyQt5實現(xiàn)柱狀圖

    python3+PyQt5實現(xiàn)柱狀圖

    這篇文章主要為大家詳細介紹了python3+PyQt5實現(xiàn)柱狀圖的方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-04-04
  • 深入淺析Python中的yield關鍵字

    深入淺析Python中的yield關鍵字

    python中有一個非常有用的語法叫做生成器,所利用到的關鍵字就是yield。接下來腳本之家小編給大家?guī)砹薖ython中的yield關鍵字詳細解析,感興趣的朋友參考下吧
    2018-01-01

最新評論

南雄市| 兰西县| 天祝| 淳化县| 兰溪市| 江达县| 沿河| 宜宾市| 宁都县| 瑞金市| 南平市| 阿城市| 绥宁县| 古蔺县| 旺苍县| 张家港市| 将乐县| 穆棱市| 定襄县| 兴隆县| 舟曲县| 苏州市| 鄢陵县| 永新县| 渝北区| 三穗县| 阳东县| 德庆县| 蒙山县| 陕西省| 怀来县| 吉水县| 翼城县| 盐城市| 依安县| 丹东市| 梁山县| 阿拉善右旗| 贵阳市| 南汇区| 兴国县|