findall()浏览全部字符串,匹配所有合规则的字符串,匹配到的字符串放到一个列表中,未匹配成功返回空列表。
通过实例代码来就医具体区分:
# coding:utf-8
'''
Note:
re库笔记
Author:Qred
Date:2019/7/23
'''
import re
line = 'Cats are smarter than dogs.
# findall()
searchObj = re.findall(r'(.*)are ((.*?) .*)', line)
if searchObj != None:
print type(searchObj)
# 查看findall返回的数据为列表格式
print searchObj
# 具体的匹配结果
for obj in searchObj:
print type(obj)
print obj
for ob in obj :
print ob
代码输出:
finditer()在字符串中找到正则表达式所匹配的所有子串,并把它们作为一个迭代器返回。
实例代码:
# finditer()
searchObj = re.finditer(r'(.*)are ((.*?) .*)', line)
if searchObj != None:
print type(searchObj)
# finditer返回结果类型
for obj in searchObj:
print type(obj)
for ob in obj.groups():
print type(ob)
print ob
返回结果: