首页 > 解决方案 > 匹配时间格式的正则表达式

问题描述

我希望匹配以下时间格式

[hours]:[minutes]:[seconds]
[minutes]:[seconds]
[total_seconds]

我的尝试是

([0-9]{1,2}:)?([0-9]{1,2}:)?([0-9]+)

但它失败了[minutes]:[seconds],与分钟23:45匹配[hours]:[minutes]:[seconds]为空。

标签: c#regex-group

解决方案


这个正则表达式应该工作:

regex=r"(^\d{1,2}:\d{1,2}$)|(^\d{1,2}:\d{1,2}:\d{1,2}$)|(^\d+$)"


推荐阅读