java 正则精准校验日期字符串 如二月只有28天
时间: 2023-10-12 20:19:37 浏览: 112
日期验证的正则表达式很好用
可以使用以下正则表达式来精准校验日期字符串,包括闰年和非闰年的情况:
```
^(?:(?!0000)[0-9]{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-9]{2}(?:0[48]|[2468][048]|[13579][26])|(?:0[48]|[2468][048]|[3579][26])00)-02-29)$
```
该正则表达式可以匹配以下日期字符串格式:
- 年-月-日(如:2022-01-31)
- 年-月-日(如:2022-02-28)
- 年-月-日(如:2020-02-29)
其中,闰年的判断规则是:能被4整除但不能被100整除,或者能被400整除的年份为闰年。这个规则已经被包含在了上面的正则表达式中。
阅读全文