我想验证确切的hh:mm:ss字符串中的字符串时间格式。
我的意思是完全
每小时/分钟/秒必须为 2位数字

仅接受逻辑值,例如

  • 小时[从00到23]
  • 分钟[从00到59]
  • 秒[从00到59]

  • 当我检查Regex pattern for HH:MM:SS time string
    答案接受hh:mm:ss字符串,但也接受2:3:24这样的情况

    提前致谢

    最佳答案

    您的正则表达式将是

    (?:[01]\d|2[0123]):(?:[012345]\d):(?:[012345]\d)
    

    这将匹配“20:30:30”和“2020-05-29 20:30:30 -0600”。

    DEMO

    如果只想匹配仅24小时的字符串,请使用以下命令:
    ^(?:[01]\d|2[0123]):(?:[012345]\d):(?:[012345]\d)$
    

    这将仅匹配“20:30:30”,而不匹配“2020-05-29 20:30:30 -0600”。

    DEMO

    Java正则表达式将是
    (?:[01]\\d|2[0123]):(?:[012345]\\d):(?:[012345]\\d)
    

    对于仅24小时的弦乐,
    ^(?:[01]\\d|2[0123]):(?:[012345]\\d):(?:[012345]\\d)$
    

    08-27 01:01