Python 的 re.match()、re.search() 和 re.findall() 方法之间有什么区别?


re.match()re.search()re.findall() 是 Python 模块 re (Python 正则表达式) 的方法。

re.match() 方法

re.match() 方法 仅在字符串开头匹配。例如,在字符串“TP Tutorials Point TP”上调用 match() 并查找模式“TP”将匹配。

示例

import re
result = re.match(r'TP', 'TP Tutorials Point TP')
print result.group(0)

输出

TP

re.search() 方法

re.search() 方法 与 re.match() 类似,但它不局限于仅在字符串开头查找匹配项。

示例

import re
result = re.search(r'Tutorials', 'TP Tutorials Point TP')
print result.group(0)

输出

Tutorials

re.findall() 方法

re.findall() 有助于获取所有匹配模式的列表。它从给定字符串的开头或结尾搜索。如果我们使用 findall 方法在一个给定字符串中搜索模式,它将返回该模式的所有出现。在搜索模式时,建议始终使用 re.findall(),它的功能类似于 re.search()re.match()

示例

import re
result = re.search(r'TP', 'TP Tutorials Point TP')
print result.group()

输出

TP

更新于:2023年11月2日

4K+ 次浏览

启动您的 职业生涯

完成课程获得认证

开始学习
广告