我正在学习正则表达式,所以我做了一些例子。例如,我想验证日期dd/mm/yyyy hh:mm:ss
或dd-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.
答案 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