Regex 正则表达式时间格式?
我有一个正则表达式,它接受特定格式的时间,如下所示, “10:00” 我想将正则表达式更改为这种格式,或者只接受一个单破折号(“-”) 下面是一个表达:Regex 正则表达式时间格式?,regex,Regex,我有一个正则表达式,它接受特定格式的时间,如下所示, “10:00” 我想将正则表达式更改为这种格式,或者只接受一个单破折号(“-”) 下面是一个表达: /^((\d)|(0\d)|(1\d)|(2[0-3]))\:((\d)|([0-5]\d))$/ 解决这一问题的关键是: 方括号([和])用于括起字符类 管道|表示或 [\:|-]表示文本:或连字符-的复选框 结果是: ^((\d)|(0\d)|(1\d)|(2[0-3]))[\:|-]((\d)|([0-5]\d))$ 只需使用另一
/^((\d)|(0\d)|(1\d)|(2[0-3]))\:((\d)|([0-5]\d))$/
解决这一问题的关键是:
- 方括号(
和[
)用于括起字符类]
- 管道
表示|
或
表示文本[\:|-]
或连字符:
的复选框-
^((\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。道歉!不是你就是我误解了这个问题;-)