import re
# match匹配
t = "2021-09-24"
# re.match('', '').group() # 一组内容
print(re.match('\d{4}-(0\d|1[1-2])-([0-2]\d|3[0-1])', t).group())
# re.match('', '').groups() # 所有匹配结果,返回元祖,每个小括号是元祖的一个元素
print(re.match('\d{4}-(0\d|1[1-2])-([0-2]\d|3[0-1])', t).groups())
# re.match('', '').start() # 匹配的开始位置
print(re.match('\d{4}-(0\d|1[1-2])-([0-2]\d|3[0-1])', t).start())
# re.match('', '').end() # 匹配的结束位置
print(re.match('\d{4}-(0\d|1[1-2])-([0-2]\d|3[0-1])', t).end())
# re.match('', '').span() # (开始位置, 结束位置)
print(re.match('\d{4}-(0\d|1[1-2])-([0-2]\d|3[0-1])', t).span())
# re.match('', '').string() # 目标字符串
print(re.match('\d{4}-(0\d|1[1-2])-([0-2]\d|3[0-1])', t).string)
# search检索第一次匹配的结果
print(re.search('\d{4}-(0\d|1[1-2])-([0-2]\d|3[0-1])', t)) # <re.Match object; span=(0, 10), match='2021-09-24'>
print(re.search('a', '1a1a2'))
# findall检索所有出现的匹配结果
print(re.findall('\d{4}-(0\d|1[1-2])-([0-2]\d|3[0-1])', t)) # [('09', '24')]
# split分割:按照组进行先匹配,再分割,同时把没有匹配上的也进行分割
print(re.split('\d{4}-(0\d|1[1-2])-([0-2]\d|3[0-1])', t)) # ['', '09', '24', '']
print(re.split(r'-', t)) # 也可以按照特定字符分割 # ['2021', '09', '24']
# sub替换
print(re.sub('-', '/', t)) # 2021/09/24
print(re.sub('-', '/', t, count=1)) # 2021/09-24
print(re.subn('-', '/', t)) # ('2021/09/24', 2)