首页 > 解决方案 > 用于匹配 HH:MM 和 HH:MM:SS 时间格式的正则表达式

问题描述

我想编写一个正则表达式来匹配 HH:MM:SS 和 MM:SS。
匹配

所以我试过了

(([0-5]?[0-9]):([0-5]?[0-9]))|(([0-9]?[0-9]):([0-5]?[0-9]):([0-5]?[0-9]))

我想添加的只是一个带有两次正则表达式的 OR(|) 语法。
但它与 HH:MM:SS 不匹配 在此处输入图像描述 我错过了什么?我已经查看了这些文章:

标签: c#regex

解决方案


你的问题不清楚。根据我的了解,我建议使用以下正则表达式:

^([01]\d?|2[0-4]):[0-5]\d(:[0-5]\d)?$
  • 它确保 HH 在 00-24 之间
  • 它确保 MM 在 00-59 之间
  • SS 是可选的(因此它可以同时匹配 HH:MM:SS 和 HH:MM),如果
    存在,则在 00-59 之间

那里可能有更有效的方法,但我只能想到这个!


推荐阅读