正则表达式匹配hh:mm:ss

时间:2015-02-18 11:07:46

标签: regex

我正在尝试匹配hh:mm:ss,但是hh part是可选的,我只想要数字来捕获组。

例如,我的数据是

  • 1时04分12秒
  • 43:32
  • 12:11

正则表达式输出应为[1,04,12],[43,43]和[12,11]

1 个答案:

答案 0 :(得分:2)

(?:(\d{1,2}):)?(\d{2}):(\d{2})

http://rubular.com/r/aWlTwgJKVn

Regular expression visualization

Debuggex Demo

禁止分钟和秒>> = 60更改为此正则表达式

(?:(\d{1,2}):?)([0-5]\d):([0-5]\d)

这个正则表达式有点简单,但这也与412:35之类的时间相匹配,缺少:

 (\d{0,2}):?(\d{2}):(\d{2})