匹配以下日期格式的最简单的正则表达式是什么:
mm-dd-yy
即。 13年1月1日
答案 0 :(得分:2)
我总是使用\d{2}-\d{2}-\d{2}
,但请注意,这允许“日期”,例如13-13-13
。
编写一个只与有效日期匹配的完整正则表达式非常复杂,几乎不值得付出努力。
另一个注意事项是这种格式非常含糊不清。如果可能,请使用yyyy-mm-dd
或dd-mm-yyyy
。
答案 1 :(得分:2)
这取决于你是否只想匹配数字:
\d\d-\d\d-\d\d
但是如果你想确定任何日期是有效的,那么它应该是不精确的或不可能的(不能处理2月)。
这是一个更好的正则表达式,但仍然不完美:
(1[0-2]|0\d)-([0-2]\d|3[0-1])-\d\d
答案 2 :(得分:0)
这很简单:
/^\d\d-\d\d-\d\d$/
但是你应该在这个简单的格式检查后使用日期库检查日期是否有效:没有合理的正则表达式会检查你是不是2月29日的非双年份。
答案 3 :(得分:0)
/[1-3]{1,2}-[1-9]{1,2}-[1-9]{1,2}/
答案 4 :(得分:0)
只是为了好玩,这里只匹配有效日期。由于您使用的是两位数年份,因此假定00
为2000(这是闰年);如果您正在寻找1900或2100,则需要进行修改。
/^((0[13-9]|1[012])-(0[1-9]|[12]\d|30)|([13578]|1[02])-31)-\d\d|02-(0[1-9]|[12][0-8])-\d\d|02-29-([02468][048]|[13579][26])$/