import re
1 |(分之)
表达式1|表达式2|表达式3 - 先用表达式进行匹配,匹配成功就直接成功;
不成功就使用表达式2去匹配;匹配失败再用表达式3去匹配...以此类推
(三个表达式中只要有一个能够匹配成功就成功,否则匹配失败)
2 ()(分组)
a.分组 - 将括号中的内容看成一个整体
(abc){2} --> abcabc
abc{2} --> abcc
b.分组重复 - 在有分组的正则表达式中,可以在分组后面通过'\数字'来重复前面第几个分组匹配到的内容
(\d{2})abc\1 --> 78abc78
def main():
re_str = r'[a-z]{3}|\d{3}'
print(re.fullmatch(re_str, '384'))
re_str = r'abc([A-Z]{2}|\d{2})'
print(re.fullmatch(re_str, 'abcKD'))
re_str = r'(abc){2}'
print(re.fullmatch(re_str, 'abcabc'))
re_str = r'(\d{2})a(\d{3})bc\2{2}\1'
print(re.fullmatch(re_str, '34a890bc89089034'))