欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python正則表達式的懶惰匹配和貪婪匹配說明

 更新時間:2020年07月13日 10:44:33   作者:Shine_on_the_earth  
這篇文章主要介紹了python正則表達式的懶惰匹配和貪婪匹配說明,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

第一次碰到這個問題的時候,確實不知道該怎么辦,后來請教了一個大神,加上自己的理解,才了解是什么意思,這個東西寫python的會經常用到,而且會特別頻繁,在此寫一篇博客,希望可以幫到一些朋友。

例:一個字符串 “abcdacsdnd”

①懶惰匹配

regex = "a.*?d"

②貪婪匹配

regex = "a.*d"

測試代碼:

# coding=UTF-8
import re

str = "abcdacsdn"
print("原始字符串 " + str)

# 懶惰匹配
regexL = "a.*?d"
print("懶惰匹配 = " + regexL)
regL = re.compile(regexL)
listL = re.findall(regL, str)
print("懶惰匹配結果")
print(listL)

# 貪婪匹配
regexT = "a.*d"
print("貪婪匹配 = " + regexT)
regT = re.compile(regexT)
listT = re.findall(regT, str)
print("貪婪匹配結果")
print(listT)

測試結果:

結果分析:

懶惰匹配,匹配成功兩次,一次abcd,一次acsd,匹配到滿足條件的abcd就停止了此次匹配,不會干擾后面的繼續(xù)匹配。

貪婪匹配,匹配成功一次,只有abcdacsd,匹配到字符串后,會最大限度的占用字符串

以上兩種,一個是盡量匹配最短串,一個是匹配最長串。

補充知識:python正則匹配中貪婪匹配效率比較

用例回歸完成之后,一般都要生成一個summary_report.但是,發(fā)現(xiàn)生成報告的時間耗時很久,搜集資料發(fā)現(xiàn)與匹配文件內容使用的正則表達式有很大關系.

1.匹配模式說明

下圖中圈住的部分,沒有注釋掉的使用貪婪匹配,注釋掉的使用非貪婪匹配

執(zhí)行時間上二者差別巨大;另外執(zhí)行時間與正則表達式的長度也有關系,較長的表達式建議分段匹配.

2.貪婪匹配時間

3.非貪婪匹配時間

以上這篇python正則表達式的懶惰匹配和貪婪匹配說明就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • 基于Python的socket庫實現(xiàn)通信功能的示例代碼

    基于Python的socket庫實現(xiàn)通信功能的示例代碼

    本文主要給大家介紹了如何使用python的socket庫實現(xiàn)通信功能,這里簡單的給每個客戶端增加一個不重復的uid,客戶端之間可以根據(jù)這個uid選擇進行廣播通信,感興趣的小伙伴快來看看吧
    2023-08-08
  • Python時間操作之pytz模塊使用詳解

    Python時間操作之pytz模塊使用詳解

    在學習Python過程中,我們已經了解了一些關于時間操作的庫,如:Python內置庫:time,datatime和第三方庫:dateutil,pytz等。本文將詳細講講pytz模塊的使用,需要的可以參考一下
    2022-06-06
  • Python集成C#實現(xiàn)界面操作下載文件功能的全過程

    Python集成C#實現(xiàn)界面操作下載文件功能的全過程

    使用腳本進行下載的需求很常見,下面這篇文章主要給大家介紹了關于Python集成C#實現(xiàn)界面操作下載文件功能的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-03-03
  • 利用python來跟蹤ip地址的方法

    利用python來跟蹤ip地址的方法

    今天來介紹一個流行的 python庫 ip2geotools,使用它可以確定 IP地址 對應的 國家、地區(qū)、城市、緯度和經度等,文中通過代碼示例介紹了如何使用python來跟蹤ip地址,需要的朋友可以參考下
    2023-06-06
  • Python 轉換RGB顏色值的示例代碼

    Python 轉換RGB顏色值的示例代碼

    這篇文章主要介紹了Python 轉換RGB顏色值的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-10-10
  • Python文件打開方式實例詳解【a、a+、r+、w+區(qū)別】

    Python文件打開方式實例詳解【a、a+、r+、w+區(qū)別】

    這篇文章主要介紹了Python文件打開方式,結合實例形式詳細分析了Python文件打開函數(shù)的使用及a、a+、r+、w+等屬性功能、使用區(qū)別與相關操作注意事項,需要的朋友可以參考下
    2019-03-03
  • Python入門之面向對象和類

    Python入門之面向對象和類

    這篇文章主要為大家介紹了Python面向對象和類,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-01-01
  • Python數(shù)據(jù)處理的三個實用技巧分享

    Python數(shù)據(jù)處理的三個實用技巧分享

    數(shù)據(jù)處理無所不在,掌握常用技巧,事半功倍。這篇文章將使用Pandas開展數(shù)據(jù)處理分析,總結其中常用、好用的數(shù)據(jù)分析技巧,感興趣的可以學習一下
    2022-04-04
  • Python 給某個文件名添加時間戳的方法

    Python 給某個文件名添加時間戳的方法

    今天小編就為大家分享一篇Python 給某個文件名添加時間戳的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-10-10
  • django使用圖片延時加載引起后臺404錯誤

    django使用圖片延時加載引起后臺404錯誤

    本文給大家介紹的是作者在Django中使用圖片的延時加載技術后引起后臺404錯誤的問題以及解決思路和方法,有需要的小伙伴可以參考下
    2017-04-04

最新評論