Python正则表达式的元字符(匹配多个字符)

时间:2022-01-12 05:44:56
rint("---------匹配多个字符--------")

'''
说明:下方的x,y,z均为假设字符,不是元字符
(xyz) 匹配小括号内的xyz(作为一个整体去匹配)
x? 匹配0个或者1个x
x* 匹配0个或者任意多个x(尽可能多的匹配)
x+ 匹配至少一个x(尽可能多的匹配)
x{n} 匹配确定的n个x(n是非负整数),x不足n个返回None,x多的也只取3个
x{n,} 匹配至少n个x(n是非负整数)
x{n,m} 匹配最少n个最多个m个x,n<=m
x|y |表示或,匹配x或y
'''
print(re.findall("(tom)","toms is a boy \ntom is a boy"))#['tom', 'tom']

print(re.findall(r"(a?)","aaabaa"))
#得到['a', 'a', 'a', '', 'a', 'a', '']非贪婪匹配(尽可能少的匹配)
print(re.findall(r"(a*)","aaabaa"))
#得到['aaa', '', 'aa', ''] 贪婪匹配(尽可能多的匹配)
print(re.findall(r"(a+)","aaabaa"))

print(re.findall(r"((t|T)om)","tom Toms"))