【发布时间】:2019-05-10 14:44:14
【问题描述】:
例如:2013-08-11T17:22:04.51+01:00
在这个stackoverflow answer 中覆盖没有 .51 部分的 ISODateTime。
请帮助纠正这个正则表达式
^(?:[1-9]\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)T(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:Z|[+-][01]\d:[0-5]\d)$
处理我的格式。
【问题讨论】:
-
当您可以尝试将其解析为
ZonedDateTime时,为什么还要使用正则表达式? -
感谢@Jacob G 的建议,但我应该使用 javax.validation 验证属性的值。