我有一个正则表达式,它接受特定格式的时间,如下所示, “10:00”。
我想将正则表达式更改为使用此格式,或仅接受一个短划线(“ - ”)。
这是表达式:
/^((\d)|(0\d)|(1\d)|(2[0-3]))\:((\d)|([0-5]\d))$/
答案 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|-)$/