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()
函数查找所有与正则表达式匹配的电子邮件地址。最后,我们输出了找到的电子邮件地址。