Python 中正則表示式的反向引用如何工作?


分組

我們將正則表示式的一部分用一對圓括號括起來進行分組。這樣,我們可以將運算子應用於組而不是單個字元。

捕獲組和反向引用

圓括號不僅對子表示式進行分組,還建立反向引用。正則表示式中分組部分匹配的字串部分儲存在反向引用中。透過使用反向引用,我們可以重複使用正則表示式的部分內容。 

如果子表示式放在圓括號中,則可以使用 \1 或 $1 等來訪問它。

例如,正則表示式 \b(\w+)\b\s+\1\b 匹配重複的單詞,例如 tahiti tahiti,因為 (\w+) 中的圓括號將一個單詞捕獲到組 1,然後反向引用 \1 匹配組 1 捕獲的字元。

示例

import re s = 'Tahiti Tahiti Atoll' result = re.findall(r'\b(\w+)\b\s+\1\b', s) print result

輸出

將輸出

['Tahiti']

更新時間:19-Feb-2020

630 次瀏覽

開啟你的 職業生涯

透過完成課程獲得認證

開始
廣告