Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 正则表达式时间格式?_Regex - Fatal编程技术网

Regex 正则表达式时间格式?

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))$ 只需使用另一

我有一个正则表达式,它接受特定格式的时间,如下所示, “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))$

只需使用另一种方法:

^<your regex>$|^-$
^$|^-$

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

这个正则表达式需要有这么多括号吗

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

看来我误解了,我以为你是说10:00或10-00。道歉!不是你就是我误解了这个问题;-)