我有一个正则表达式,它接受以下特定格式的时间, “10:00”。正则表达式时间格式?
我想更改正则表达式以适应此格式或仅接受一个短划线(“ - ”)。
这里是表达:
/^((\d)|(0\d)|(1\d)|(2[0-3]))\:((\d)|([0-5]\d))$/
我有一个正则表达式,它接受以下特定格式的时间, “10:00”。正则表达式时间格式?
我想更改正则表达式以适应此格式或仅接受一个短划线(“ - ”)。
这里是表达:
/^((\d)|(0\d)|(1\d)|(2[0-3]))\:((\d)|([0-5]\d))$/
要点解决这一:
[
和]
)用于括字符类。|
表示or
。[\:|-]
表示文字为:
或连字符-
。产生的模式是:
^((\d)|(0\d)|(1\d)|(2[0-3]))[\:|-]((\d)|([0-5]\d))$
只需使用一种替代方案:
^<your regex>$|^-$
这无论是在你的格式或单个连字符减号匹配。
这个正则表达式需要有这么多的括号吗?
/^(([01]?\d|2[0-3]):[0-5]\d|-)$/
看起来像我误解了,我以为你的意思是10:00或10-00。道歉! – jon 2012-04-04 12:03:56
你或我误解了这个问题;-) – Joey 2012-04-04 12:04:00