要在正則表達式中實現分組捕獲,可以使用小括號 () 來定義一個捕獲組。捕獲組可以在匹配成功時提取出特定的部分內容,以供后續處理或使用。
例如,假設我們想要匹配一個郵件地址,并分別捕獲郵箱用戶名和域名部分,可以使用如下的正則表達式:
import re
email = "example@example.com"
pattern = r'(\w+)@(\w+)\.com'
match = re.match(pattern, email)
if match:
username = match.group(1)
domain = match.group(2)
print("Username: ", username)
print("Domain: ", domain)
在上面的例子中,我們使用了兩個捕獲組來分別捕獲郵箱用戶名和域名部分。當正則表達式匹配成功后,我們可以使用 match.group(n)
方法來獲取捕獲組中的內容,其中 n 表示第幾個捕獲組。
另外,如果想要在正則表達式中使用捕獲組的內容進行替換,可以使用 \1
, \2
等來引用捕獲組的內容。例如,可以使用 re.sub()
方法來替換匹配的內容:
new_email = re.sub(pattern, r'\2@\1.com', email)
print("New Email: ", new_email)
這樣就可以實現在替換中使用捕獲組的內容。