以字符串line爲示例,通過是使用()、【】、{}進行數據篩選,進一步瞭解re庫中表達式的使用。
line = 'Cats are smarter than dogs.'
()以元組的格式返回匹配結果:
searchObj = re.match('(.*)are ((.*?) .*)', line)
# 返回的searchObj 爲 _sre.SRE_Match 類型數據
if searchObj != None:
print type(searchObj)
for obj in searchObj.groups():
print type(obj)
print obj
# 留意輸出的匹配結果
# * 零到多個
# ?零或一個
# 括號的順序:外層括號匹配結果在前,裏面在後
[]完全符合匹配規則,輸出匹配結果
searchObj = re.match('C[t,a]', line)
# 完全符合匹配規則,輸出匹配結果
# C後面如果爲t或者a,符合匹配規則
if searchObj != None:
print type(searchObj)
print searchObj.group()
{}匹配{m,n}前的字符m到n次
searchObj = re.findall('a{0,3}r', line)
# 匹配{m,n}前的字符m到n次
# 配置r前的a 0-3次
if searchObj != None:
print type(searchObj)
for obj in searchObj:
print type(obj)
print obj
print searchObj