无论那一年都有365天,闰年多了2月29号那一天,要做的就是在365天匹配基础上加上0229那天
下面的表达式匹配的范围是1900年01月01日到2022年12月31日
前四行匹配365天,不分平年与闰年,后两行匹配闰年的2月29日,
冷知识【能被四整除的特征:
1 都是偶数;
2 十位是偶数时个位是[048];
3 十位是奇数时个位是[26]】
a = re.compile(r'''((19[0-9]{2}|20[01][0-9]|202[012]) #1900-2022
((0[13578]|1[02]) (0[1-9]|[12][0-9]|3[01])|
(0[469] | 11) (0[1-9]|[12][0-9]|30)|
(02(0[1-9]|1[0-9]|2[0-8]))))|
(((19|20)(0[48]|[2468][048]|[13579][26])|
((0[48]|[2468][048]|[3579][26])00))0229)
''', re.VERBOSE)