【发布时间】:2016-02-01 16:07:31
【问题描述】:
我有一个名为 dateStr 的字符串变量,现在这个变量 dateStr 可以有这些可能的值
21/02/2014
05/25/2014
05/12/16
2016/12/26 (YYYY/MM-dd) ****//check this pattern format *******
2014-JAN-04 (YYYY-MMM-dd) ****//check this pattern format ********
现在请提供任何正则表达式,我可以通过它检查格式 YYYY/MM/dd 和 YYYY-MM-dd 基本上是哪一年即将到来的第一部分
所以请建议任何正则表达式交叉验证前四位数字是 YYYY 所以请建议如何检查这个我们可以构建任何正则表达式检查,让我们说如果前三位数字不是整数或第三位数字是 - 或 /那么字符串不是 YYYY-MM-dd 格式,请告知正确的正则表达式
【问题讨论】:
-
尝试解析日期并捕获任何异常会容易得多...
-
“慢很多”是 0.02 毫秒而不是 0.015 毫秒?正确处理月份名称和闰年并确保始终使用
/或-的正则表达式会消耗更多的CPU 周期。 -
@Grogi 我会说相反:正确验证日期的正则表达式可能会更慢(您当前的答案可能会更快,但不执行验证,并且对于 OP 来说看起来过于简单要求)!如果 OP 以后需要使用该日期,则无论如何都需要对其进行解析......