0
findall函数
findall函数用于查询字符串中某个正则表达式模式全部的非重复出现情况,这一点与search函数在执行字符串搜索时类似,但与match函数和search函数不同之处在于,findall函数总是返回一个包含搜索结果的列表。 如果findall函数没有找到匹配的部分,就会返回一个空列表,如果匹配成功,列表将包含所有成功的匹配部分(从左向右按匹配顺序排列)
finditer函数
finditer函数在功能上与findall类似,只是更加节省内存。
区别
这两个函数的区别是findall函数会将所有匹配的结果一起通过列表返回,而finditer函数会返回一个迭代器,只有对finditer函数返回结果进行迭代,才会对字符串中某个正则表达式模式进行匹配。Findall函数与finditer函数相当于读取XML文档的两种技术:DOM和SAX。前者更灵活,也更加消耗内存资源;后者顺序读取XML文档的内容,不能随机读取XML文档中的内容,但更加节省内存资源。
示例
result = re.findall('bike', 'bike')
#运行结果;['bike']
print(result)
result = re.findall('bike', 'My bike')
#运行结果:['bike']
print (result)
#运行结果:['bike' , 'bike']
result = re.findall('bike','This is a bike.This is a bike')
print(result)
收藏