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']
廣告