正则表达式的日期和时间不同的方式

时间:2015-10-27 12:27:57

标签: regex

我正在学习正则表达式,所以我做了一些例子。例如,我想验证日期dd/mm/yyyy hh:mm:ssdd-mm-yyy hh:mm:ss

我在https://regex101.com上确实喜欢这样:

([0-9]{2}+[-\/]+[0-9]{2}+[-\/]+[0-9]{4})\s([0-9]{2}+:+[0-9]{2}+:+[0-9]{2})

(\d{2}+[-\/]+\d{2}+[-\/]+\d{4})\s(\d{2}+:+\d{2}+:+\d{2})

还有其他方法可以做到这一点,所以正则表达式可以简短吗?或者它是完美的,我相信它不是100%完美。 我想添加范围例如月份不应该大于12,及时它不应该更大60.

3 个答案:

答案 0 :(得分:1)

你使用了太多+,你可以重复一些群体:

(\d{2}[-\/]){2}\d{4}\s\d{2}(:\d{2}){2}

答案 1 :(得分:1)

这是我为此创建的日期验证器,我认为它可以修复一点,但它正在工作

Typeface

答案 2 :(得分:0)

我发现日期为m / d / yy或m / d / yyyy或mm / dd / yy或mm / dd / yy

  2           0 LOAD_GLOBAL              0 (id)
              3 LOAD_GLOBAL              1 (t)
              6 LOAD_CONST               1 (0)
              9 BINARY_SUBSCR                     # t[0] is created
             10 CALL_FUNCTION            1        # id(t[0]) is computed...
                                                  # ...lifetime of string t[0] over
             13 LOAD_GLOBAL              0 (id)
             16 LOAD_GLOBAL              2 (s)
             19 LOAD_CONST               1 (0)
             22 BINARY_SUBSCR                     # s[0] is created...
                                                  # ...free to reuse t[0] memory
             23 CALL_FUNCTION            1        # id(s[0]) is computed
             26 COMPARE_OP               2 (==)   # the two ids are compared
             29 RETURN_VALUE