如何在Python中匹配跨多行的模式?


正則表示式是一組字元,允許您使用搜索模式查詢字串或一組字串。RegEx是正則表示式的另一個名稱。

Python中的`re`模組用於處理正則表示式。為了使用正則表示式在Python中匹配跨多行的模式,我們使用`<p>.*</p>`正則表示式。

這裡:

  • `<p>`, `</p>`表示HTML5中的段落標籤。

  • `*`表示零個或多個字元的出現。

  • `.`是一個特殊字元,在`re.DOTALL`標誌的幫助下,它匹配所有字元,包括換行符。

通常,在正則表示式搜尋中,`.`特殊字元不匹配換行符。為了解決這個問題,`re`包提供了一些預定義的標誌,這些標誌可以修改特殊字元的行為。因此,透過使用`re.DOTALL`標誌,我們可以匹配跨多行的模式。

示例

在下面的示例程式碼中,我們使用正則表示式匹配段落的範圍。我們首先匯入正則表示式模組。

import re

然後,我們使用了從`re`模組匯入的`search()`函式。這個`re.search()`函式搜尋字串/段落中的匹配項,如果存在匹配項,則返回一個匹配物件。`group()`方法用於返回匹配的字串部分。

import re paragraph = \ ''' <p> Tutorials point is a website. It is a platform to enhance your skills. </p> ''' match = re.search(r'<p>.*</p>', paragraph, re.DOTALL) print(match.group(0))

輸出

執行上述程式後,得到以下輸出。

<p>
Tutorials point is a website.
It is a platform to enhance your skills.
</p>

更新於:2022年11月8日

12K+ 次瀏覽

啟動您的職業生涯

完成課程後獲得認證

開始
廣告
© . All rights reserved.