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
返回結果: