以字符串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