0

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

我想将正则表达式更改为接受这种格式或只接受一个破折号(“-”)。

这是表达式:

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

3 回答 3

1

解决这个问题的关键点:

  • 方括号 ([]) 用于包围字符类。
  • 管道的|意思or
  • [\:|-]表示 chech 用于文字:或连字符-

结果模式是:

^((\d)|(0\d)|(1\d)|(2[0-3]))[\:|-]((\d)|([0-5]\d))$
于 2012-04-04T12:00:52.663 回答
0

Does this regex need to have so many brackets?

/^(([01]?\d|2[0-3]):[0-5]\d|-)$/
于 2012-04-04T12:07:03.733 回答
0

只需使用替代方法:

^<your regex>$|^-$

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

于 2012-04-04T12:02:16.300 回答