年份:[\d]{4}
带31的月份:(0[13578]|1[02])((0[1-9])|([12][0-9])|(3[01]))
非2月不带31日的月份:((0[469])|11)((0[1-9])|([12][0-9])|30)
平年2月份 : 02((0[1-9])|(1[0-9])|(2[0-8]))
闰年2月份:02((0[1-9])|(1[0-9])|(2[0-9]))
闰年月份:
((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-9])))
平年月份:
((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])))
平年年份和月份,这个月份2月只有28号,如果出现0229这种日期就交给闰年带月份的正则表达式进行匹配,2个表达式用或连接
闰年年份:
第一种:能被100整除,也能被400整除 0400 0800 1200 1600 2000 2400 2800 3200 3600 4000 4400 4800 5200 5600 6000 6400 6800 7200 7600 8000 8400 8800 9200 9600
(([02468][048])|([13579][26]))00
第二种 :不能被100整除,但能被4整除 04 08 12
[0-9]{2}(([02468][048])|([13579][26]))
闰年年份和月份:
(((([02468][048])|([13579][26]))00)|([0-9]{2}(([02468][048])|([13579][26]))))(((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-9]))))
不带小时的总表达式:
([\d]{4}(((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])))))|((((([02468][048])|([13579][26]))00)|([0-9]{2}(([02468][048])|([13579][26]))))(((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-9])))))
带小时每个后面都加小时总表达式:([\d]{4}(((0[13578]|1[02])((0[1-9])|([12][0-9])|(3[01]))((0[0-9])|(1[0-9])|(2[0-3])))|(((0[469])|11)((0[1-9])|([12][0-9])|30)((0[0-9])|(1[0-9])|(2[0-3])))|(02((0[1-9])|(1[0-9])|(2[0-8]))((0[0-9])|(1[0-9])|(2[0-3])))))|((((([02468][048])|([13579][26]))00)|([0-9]{2}(([02468][048])|([13579][26]))))(((0[13578]|1[02])((0[1-9])|([12][0-9])|(3[01]))((0[0-9])|(1[0-9])|(2[0-3])))|(((0[469])|11)((0[1-9])|([12][0-9])|30)((0[0-9])|(1[0-9])|(2[0-3])))|(02((0[1-9])|(1[0-9])|(2[0-9]))((0[0-9])|(1[0-9])|(2[0-3])))))
带小时平闰后面分别加小时总表达式:
([\\d]{4}(((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]))))((0[0-9])|(1[0-9])|(2[0-3])))|((((([02468][048])|([13579][26]))00)|([0-9]{2}(([02468][048])|([13579][26]))))(((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-9]))))((0[0-9])|(1[0-9])|(2[0-3])))