如何在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>
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP