正则表达式以验证时间

时间:2013-03-14 02:10:00

标签: regex

我尝试了很多

的组合
\d{1,2}:\d{2}

验证一段时间(即:0:33或12:33)。

因此,上述表达大部分都有效,但我也需要 1)验证“:33”和 2)使“00:33a”无效

我已经用Google搜索并尝试组合\ s *但它仍然不满足这两个条件。

感谢任何帮助。

3 个答案:

答案 0 :(得分:1)

如果您只想匹配有效时间(例如23:59,而不是25:03等),您可以尝试使用以下正则表达式:

^([01]?[0-9]|2[0-3]):[0-5]?[0-9]$

答案 1 :(得分:0)

我相信你只需要指定开始^和结束$ string表示符

^\d{1,2}:\d{2}$

那样00:33a将无效

答案 2 :(得分:0)

更仔细地看待你的问题并扩展Gijs的答案,这可能就是你所追求的......

^(?:[0-9]?|(?:[0-1][0-9])?|(?:2[0-3])?):[0-5][0-9]$

允许':mm','h:mm'或'hh:mm'。

我不确定(?:非捕获组是多么普遍 - 我已经习惯了.Net。