C# 用于匹配时间格式的正则表达式

C# 用于匹配时间格式的正则表达式,c#,regex-group,C#,Regex Group,我希望匹配以下时间格式 [hours]:[minutes]:[seconds] [minutes]:[seconds] [total_seconds] 我的尝试失败了 ([0-9]{1,2}:)?([0-9]{1,2}:)?([0-9]+) 但是它失败了,[minutes]:[seconds],23:45匹配了[hours]:[minutes]:[seconds],分钟为空。这个正则表达式应该可以: regex=r“(^\d{1,2}:\d{1,2}$)|(^\d{1,2}:\d{1,2}:

我希望匹配以下时间格式

[hours]:[minutes]:[seconds]
[minutes]:[seconds]
[total_seconds]
我的尝试失败了

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

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

这个正则表达式应该可以:

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

您的尝试也将匹配
99:99:999999999999999999999999999
12341234412341234412341234412341234
我很好,我不希望数据出错。那怎么办?@JimMischel,这看起来很有希望,我不知道可以传递多种格式(谢谢,我学到了一些新东西)。但是我不确定是否有一种仅用于
总秒数的格式
ss
可能限制为最多60秒。不管怎样,让我试试。