相关疑难解决方法(0)

HH的正则表达式模式:MM:SS时间字符串

我想解析一个hh:mm:ss字符串.一个简单的是([0-1]?\d|2[0-3]):([0-5]?\d):([0-5]?\d) 期望2:3:2402:03:24字符串.

我想更进一步,即使在像这样的情况下也要通过验证

  1. 如果你只输入56,它应该通过,因为56可以被认为是56秒[SS]
  2. 如果您输入2:3或02:03或02:3或2:03则应该通过.2分3秒[MM:SS]
  3. 如果你进入20:30:12传球20小时30分12秒[HH:MM:SS]
  4. 如果你输入78:12,不要过78分钟是错误的....

基本上,如果找到一个":",则将":"之前的数字视为MM,将":"之后的数字视为SS.如果发现两个":",则认为是HH:MM:SS

我想出了这种模式.

(^([0-1]?\d|2[0-3]):([0-5]?\d):([0-5]?\d)$)|(^([0-5]?\d):([0-5]?\d)$)|(^[0-5]?\d$)
Run Code Online (Sandbox Code Playgroud)

它似乎工作正常.我想知道任何其他更简单的正则表达式,它可以完成这项工作.

regex expression hour minute seconds

37
推荐指数
2
解决办法
7万
查看次数

标签 统计

expression ×1

hour ×1

minute ×1

regex ×1

seconds ×1