我需要使用正则表达式验证HHmm。 下面是我的代码 ([0-9] | 0 [0-9] | 1 [0-9] | 2 [0-3])[0-5] [0-9]
正在验证罚款 24:20 12:59 在12:60和2400失败 它也是通过123和127,128 .. 我需要两位数的分钟,甚至还需要1位数。
我怎么能避免这种情况。 在此先感谢
答案 0 :(得分:0)
您需要为正则表达式定义边界。有了这些,您确定它不会简单地匹配字符串4:20
中的24:20
。所以,就这样,就是这样:
\b([01]?[0-9]|2[0-3])[0-5][0-9]\b
我做出的另一项更改是:我已将[0-9]|0[0-9]|1[0-9]
合并为较短的[01]?[0-9]
。
如果您想匹配HH:mm格式,您只需在其中间放置一个:
:
\b([01]?[0-9]|2[0-3]):[0-5][0-9]\b
如果你想限制4位数时间戳的匹配(所以不是159而只是0159),你应该只删除该表达式中的?
:
\b([01][0-9]|2[0-3])[0-5][0-9]\b