正则表达式时间格式?

时间:2012-04-04 11:57:08

标签: regex

我有一个正则表达式,它接受特定格式的时间,如下所示, “10:00”。

我想将正则表达式更改为使用此格式,或仅接受一个短划线(“ - ”)。

这是表达式:

/^((\d)|(0\d)|(1\d)|(2[0-3]))\:((\d)|([0-5]\d))$/

3 个答案:

答案 0 :(得分:1)

解决这个问题的关键点:

  • 方括号([])用于包含字符类。
  • 管道|表示or
  • [\:|-]表示要求文字:或连字符-

结果模式是:

^((\d)|(0\d)|(1\d)|(2[0-3]))[\:|-]((\d)|([0-5]\d))$

答案 1 :(得分:0)

只需使用替代方法:

^<your regex>$|^-$

这将匹配您的格式时间或单个连字符减号。

答案 2 :(得分:0)

这个正则表达式是否需要这么多括号?

/^(([01]?\d|2[0-3]):[0-5]\d|-)$/