【发布时间】:2016-02-05 08:23:16
【问题描述】:
我正在尝试使用正则表达式来验证日期格式,我想检查日期是否小于 32。同样,月份也小于 12。我不知道该怎么做。目前,这就是我所拥有的;
^[0-1]?[0-9]{1}\-[0-3]?[0-9]{1}\-[0-9]{2,4}$
这个正则表达式实现格式 (m)m-(d)d-(yy)yy
【问题讨论】:
-
您希望匹配的日期格式是什么?
-
抱歉。 (m)m-(d)d-(yy)yy。这就是上面的正则表达式实现的格式。
-
好的,请更新您的问题,谢谢
-
我不确定正则表达式是否正确。即使匹配,因为日期小于 32 并且月份小于或等于 12,您仍然可能最终得到无效的日期:例如 02/30/16。我认为尝试使用 Date.strptime 解析字符串更有意义
-
一般应该使用正则表达式来提取信息,而不是进行比较操作。不要这样自残。