findall()
是 Python 中正则表达式模块 re
的一个函数,用于在字符串中查找所有与正则表达式匹配的子串
-
使用原始字符串:为了避免转义字符带来的困扰,可以使用原始字符串(在字符串前加
r
)来编写正则表达式。例如:import re text = "The quick brown fox jumps over the lazy dog." pattern = r'\b\w{5}\b' result = re.findall(pattern, text) print(result) # 输出:['quick', 'brown']
-
指定匹配模式:
re.findall()
函数有一个可选参数flags
,用于指定匹配模式。例如,re.IGNORECASE
可以用于执行不区分大小写的匹配。import re text = "The quick brown fox jumps over the lazy dog." pattern = r'\b\w{5}\b' result = re.findall(pattern, text, flags=re.IGNORECASE) print(result) # 输出:['Quick', 'Brown']
-
使用分组:在正则表达式中使用圆括号
()
可以创建分组,findall()
函数将返回一个包含所有匹配分组的列表。import re text = "The quick brown fox jumps over the lazy dog." pattern = r'(\w{5})' result = re.findall(pattern, text) print(result) # 输出:['quick', 'brown', 'fox', 'jumps', 'over', 'lazy', 'dog']
-
使用
re.finditer()
:re.finditer()
函数与re.findall()
类似,但它返回一个迭代器,而不是一个列表。这样可以节省内存,特别是在处理大型字符串时。import re text = "The quick brown fox jumps over the lazy dog." pattern = r'\b\w{5}\b' result = re.finditer(pattern, text) for match in result: print(match.group()) # 输出:quick, brown, fox, jumps, over, lazy, dog
-
使用
re.sub()
:如果你想替换字符串中与正则表达式匹配的部分,可以使用re.sub()
函数。import re text = "The quick brown fox jumps over the lazy dog." pattern = r'\b\w{5}\b' result = re.sub(pattern, '
', text) print(result) # 输出:The jumps over the dog.