溫馨提示×

Python正則表達式如何提取信息

小樊
81
2024-11-09 09:29:39
欄目: 編程語言

在Python中,使用正則表達式可以方便地從字符串中提取所需的信息。以下是一些基本步驟和示例:

  1. 首先,導(dǎo)入re模塊:
import re
  1. 編寫一個正則表達式模式。這個模式應(yīng)該包含你想要匹配的字符和規(guī)則。例如,如果你想從一個字符串中提取所有的電子郵件地址,你可以使用以下模式:
pattern = r'\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Z|a-z]{2,}\b'
  1. 使用re.findall()函數(shù)來查找所有匹配的字符串:
text = "這里有兩個電子郵件地址:example1@gmail.com 和 example2@yahoo.com"
matches = re.findall(pattern, text)
print(matches)  # 輸出:['example1@gmail.com', 'example2@yahoo.com']
  1. 如果你想提取更復(fù)雜的信息,例如電話號碼或日期,你可以編寫更復(fù)雜的正則表達式模式。例如,以下模式可以提取美國格式的電話號碼:
pattern = r'\b\(?\d{3}\)?[-.\s]?\d{3}[-.\s]?\d{4}\b'
  1. 使用re.finditer()函數(shù)可以找到一個迭代器,其中包含所有匹配的字符串及其位置信息:
for match in re.finditer(pattern, text):
    print(match.group(), match.start(), match.end())
  1. 如果你想替換字符串中的匹配項,可以使用re.sub()函數(shù):
replacement = "REPLACED"
new_text = re.sub(pattern, replacement, text)
print(new_text)

這只是Python正則表達式的基本用法。正則表達式有很多高級功能,可以讓你更精確地匹配和處理字符串。你可以查閱Python的re模塊文檔以了解更多信息。

0