findall
是 Python 正則表達式庫 re
中的一個函數,用于在字符串中查找所有與正則表達式匹配的子串。以下是一個實際案例:
假設我們有一個包含多個電子郵件地址的文本文件 emails.txt
,我們希望使用正則表達式來查找所有的電子郵件地址。
emails.txt:
這是一個示例文本文件,其中包含一些電子郵件地址:
user1@example.com
user2@example.org
user3@example.net
我們可以使用以下代碼來查找所有的電子郵件地址:
import re
# 定義正則表達式模式
pattern = r'\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Z|a-z]{2,}\b'
# 讀取文件內容
with open('emails.txt', 'r') as file:
content = file.read()
# 使用 findall 函數查找所有匹配的電子郵件地址
email_addresses = re.findall(pattern, content)
# 輸出結果
print("找到的電子郵件地址:")
for email in email_addresses:
print(email)
輸出結果:
找到的電子郵件地址:
user1@example.com
user2@example.org
user3@example.net
在這個例子中,我們首先定義了一個正則表達式模式 pattern
,用于匹配電子郵件地址。然后,我們讀取了 emails.txt
文件的內容,并使用 re.findall()
函數查找所有與正則表達式匹配的電子郵件地址。最后,我們輸出了找到的電子郵件地址。