Python中的re.match(),re.search()和re.findall()方法有什么区别?

re.match(),re.search()和re.findall()是Python模块re的方法。

re.match()方法

如果re.match()方法出现在字符串的开头,则找到匹配项。例如,调用match()字符串“ TP nhooo.com TP”并寻找模式“ TP”将匹配。  

示例

import re
result = re.match(r'TP', 'TP nhooo.com TP')
print result.group(0)

输出结果

TP

re.search()方法

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

示例

import re
result = re.search(r'Tutorials', 'TP nhooo.com 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 nhooo.com TP')
print result.group()

输出结果

TP