日期正则表达式怎样写

来源:百度知道 编辑:UC知道 时间:2024/06/05 21:57:44
我想匹配以下格式:
yyyy或yyyy-mm或yyyy-mm-dd
其正则表达式怎样写呢?

匹配1600-2999年yyyy或yyyy-mm或yyyy-mm-dd ,基本上把闰年和2月等的情况都考虑进去了:

((1[6-9]|[2-9]\d)\d{2})|(((((1[6-9]|[2-9]\d)\d{2})-(0?[13578]|1[02])-(0?[1-9]|[12]\d|3[01]))|(((1[6-9]|[2-9]\d)\d{2})-(0?[13456789]|1[012])-(0?[1-9]|[12]\d|30))|(((1[6-9]|[2-9]\d)\d{2})-0?2-(0?[1-9]|1\d|2[0-8]))|(((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))-0?2-29-)))