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

python re模塊匹配貪婪和非貪婪模式詳解

 更新時間:2020年02月11日 11:05:13   作者:xushukui  
這篇文章主要介紹了python re模塊匹配貪婪和非貪婪模式詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

這篇文章主要介紹了python re模塊匹配貪婪和非貪婪模式詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

python貪婪和非貪婪

正則表達式通常用于在文本中查找匹配的字符串。Python里數量詞默認是貪婪的(在少數語言里也可能是默認非貪婪),總是嘗試匹配盡可能多的字符;非貪婪則相反,總是嘗試匹配盡可能少的字符。在"*","?","+","{m,n}"后面加上?,使貪婪變成非貪婪。

>>> s="This is a number 234-235-22-423"
>>> r=re.match(".+(\d+-\d+-\d+-\d+)",s)
>>> r.group(1)
'4-235-22-423'
>>> r=re.match(".+?(\d+-\d+-\d+-\d+)",s)
>>> r.group(1)
'234-235-22-423'
>>>

正則表達式模式中使用到通配字,那它在從左到右的順序求值時,會盡量“抓取”滿足匹配最長字符串,在我們上面的例子里面,“.+”會從字符 串的啟始處抓取滿足模式的最長字符,其中包括我們想得到的第一個整型字段的中的大部分,“\d+”只需一位字符就可以匹配,所以它匹配了數字“4”,而“.+”則匹配了從字符串起始到這個第一位數字4之前的所有字符。

解決方式:非貪婪操作符“?”,這個操作符可以用在"*","+","?"的后面,要求正則匹配的越少越好。

下面這個例子仔細體會下

>>> re.match(r"aa(\d+)","aa2343ddd").group(1)
'2343'
>>> re.match(r"aa(\d+?)","aa2343ddd").group(1)
'2'
>>> re.match(r"aa(\d+)ddd","aa2343ddd").group(1) 
'2343'
>>> re.match(r"aa(\d+?)ddd","aa2343ddd").group(1)
'2343'
>>>

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • python正則表達式實現自動化編程

    python正則表達式實現自動化編程

    這篇文章主要介紹了python正則表達式實現自動化編程,re模塊的compile()方法是構成正則表達式的方法,向compile()傳入一個字符串表示正則表達式,該方法返回一個Regex模式的對象,需要的朋友可以參考下
    2023-01-01
  • python目標檢測SSD算法訓練部分源碼詳解

    python目標檢測SSD算法訓練部分源碼詳解

    這篇文章主要為大家介紹了python目標檢測SSD算法訓練部分源碼詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-05-05
  • Python實現21點小游戲的示例代碼

    Python實現21點小游戲的示例代碼

    1931年,當美國內華達州宣布賭博為合法活動時,21點游戲第一次公開出現在內華達州的賭場俱樂部,15年內,它取代擲骰子游戲,而一舉成為非常流行的賭場莊家參與的賭博游戲。本文將用Python實現這一經典游戲,感興趣的可以了解一下
    2022-09-09
  • Python無法安裝包的一種解決(Requirement already satisfied問題)

    Python無法安裝包的一種解決(Requirement already satisfied問題)

    這篇文章主要介紹了Python無法安裝包的一種解決(Requirement already satisfied問題),具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • 2021年最新版Python安裝及使用教學

    2021年最新版Python安裝及使用教學

    今天帶大家學習的是Python的相關知識,文章圍繞著Python的安裝及使用展開,文中有非常詳細的圖文示例及介紹,需要的朋友可以參考下
    2021-06-06
  • Python實現在PDF插入頁眉頁腳

    Python實現在PDF插入頁眉頁腳

    在處理篇幅較長、結構復雜的PDF文檔時,頁眉和頁腳的設計與插入就顯得尤為重要,本文主要介紹了如何使用Python代碼操作PDF文檔,在PDF文檔中插入自定義的頁眉和頁腳,有需要的可以參考下
    2024-04-04
  • 詳解BeautifulSoup獲取特定標簽下內容的方法

    詳解BeautifulSoup獲取特定標簽下內容的方法

    這篇文章主要介紹了詳解BeautifulSoup獲取特定標簽下內容的方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-12-12
  • python Protobuf定義消息類型知識點講解

    python Protobuf定義消息類型知識點講解

    在本篇文章里小編給大家整理的是一篇關于python Protobuf定義消息類型知識點講解,有興趣的朋友們可以學習下。
    2021-03-03
  • PyTorch的自適應池化Adaptive Pooling實例

    PyTorch的自適應池化Adaptive Pooling實例

    今天小編就為大家分享一篇PyTorch的自適應池化Adaptive Pooling實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-01-01
  • 詳解Python如何在多層循環(huán)中使用break/continue

    詳解Python如何在多層循環(huán)中使用break/continue

    關于break/continue這兩個關鍵字在平常的使用過程中一直比較迷糊。所以本文將詳細講講Python如何在多層循環(huán)中使用break/continue,需要的可以參考一下
    2022-05-05

最新評論