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

淺析Python 多行匹配模式

 更新時間:2020年07月24日 15:22:00   作者:看云  
這篇文章主要介紹了Python 多行匹配模式的相關(guān)資料,文中講解非常細致,代碼幫助大家更好的理解和學習,感興趣的朋友可以了解下

問題

你正在試著使用正則表達式去匹配一大塊的文本,而你需要跨越多行去匹配。

解決方案

這個問題很典型的出現(xiàn)在當你用點(.)去匹配任意字符的時候,忘記了點(.)不能匹配換行符的事實。比如,假設(shè)你想試著去匹配C語言分割的注釋:

>>> comment = re.compile(r'/\*(.*?)\*/')
>>> text1 = '/* this is a comment */'
>>> text2 = '''/* this is a
... multiline comment */
... '''
>>>
>>> comment.findall(text1)
[' this is a comment ']
>>> comment.findall(text2)
[]
>>>

為了修正這個問題,你可以修改模式字符串,增加對換行的支持。比如:

>>> comment = re.compile(r'/\*((?:.|\n)*?)\*/')
>>> comment.findall(text2)
[' this is a\n multiline comment ']
>>>

在這個模式中,(?:.|\n) 指定了一個非捕獲組(也就是它定義了一個僅僅用來做匹配,而不能通過單獨捕獲或者編號的組)。

討論

re.compile() 函數(shù)接受一個標志參數(shù)叫 re.DOTALL ,在這里非常有用。它可以讓正則表達式中的.匹配包括換行符在內(nèi)的任意字符。比如:

>>> comment = re.compile(r'/\*(.*?)\*/', re.DOTALL)
>>> comment.findall(text2)
[' this is a\n multiline comment ']

對于簡單的情況使用 re.DOTALL 標記參數(shù)工作的很好,但是如果模式非常復雜或者是為了構(gòu)造字符串令牌而將多個模式合并起來(2.18節(jié)有詳細描述),這時候使用這個標記參數(shù)就可能出現(xiàn)一些問題。如果讓你選擇的話,最好還是定義自己的正則表達式模式,這樣它可以在不需要額外的標記參數(shù)下也能工作的很好。

以上就是淺析Python 多行匹配模式的詳細內(nèi)容,更多關(guān)于Python 多行匹配模式的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 詳解Django的model查詢操作與查詢性能優(yōu)化

    詳解Django的model查詢操作與查詢性能優(yōu)化

    這篇文章主要介紹了詳解Django的model查詢操作與查詢性能優(yōu)化,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-10-10
  • python讀寫修改Excel之xlrd&xlwt&xlutils

    python讀寫修改Excel之xlrd&xlwt&xlutils

    這篇文章主要介紹了python讀寫修改Excel之xlrd&xlwt&xlutils,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-03-03
  • Python PyInstaller安裝和使用教程詳解

    Python PyInstaller安裝和使用教程詳解

    這篇文章主要介紹了Python PyInstaller安裝和使用教程,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-01-01
  • jupyter notebook的安裝與使用詳解

    jupyter notebook的安裝與使用詳解

    這篇文章主要介紹了jupyter notebook的安裝與使用詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-05-05
  • 基于Python實現(xiàn)簽到腳本過程解析

    基于Python實現(xiàn)簽到腳本過程解析

    這篇文章主要介紹了基于Python實現(xiàn)簽到腳本過程解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-10-10
  • 如何在python中實現(xiàn)線性回歸

    如何在python中實現(xiàn)線性回歸

    這篇文章主要介紹了如何在python中實現(xiàn)線性回歸,幫助大家更好的理解和學習Python,感興趣的朋友可以了解下
    2020-08-08
  • Python生成隨機密碼的方法

    Python生成隨機密碼的方法

    這篇文章主要為大家詳細介紹了Python生成隨機密碼的方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-06-06
  • 對dataframe數(shù)據(jù)之間求補集的實例詳解

    對dataframe數(shù)據(jù)之間求補集的實例詳解

    今天小編就為大家分享一篇對dataframe數(shù)據(jù)之間求補集的實例詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-01-01
  • python中將兩組數(shù)據(jù)放在一起按照某一固定順序shuffle的實例

    python中將兩組數(shù)據(jù)放在一起按照某一固定順序shuffle的實例

    今天小編就為大家分享一篇python中將兩組數(shù)據(jù)放在一起按照某一固定順序shuffle的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-07-07
  • python數(shù)字圖像處理之高級形態(tài)學處理

    python數(shù)字圖像處理之高級形態(tài)學處理

    這篇文章主要介紹了python數(shù)字圖像處理之高級形態(tài)學處理,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-04-04

最新評論