Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/19.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 HHmm正则表达式验证_Regex - Fatal编程技术网

Regex HHmm正则表达式验证

Regex HHmm正则表达式验证,regex,Regex,我需要使用正则表达式验证HHmm。 下面是我的代码 ([0-9]| 0[0-9]| 1[0-9]| 2[0-3])[0-5][0-9] 这对我来说很好 24:20 12:59 12点60分和2400分失败 它也通过了123和127128。。 我需要两位数的分钟,即使是一位数也需要 我怎样才能避免这种情况。 提前感谢您需要为正则表达式定义边界。有了这些,您可以确定它不会简单地匹配字符串24:20中的4:20。因此,有了这个,它将是: \b([01]?[0-9]|2[0-3])[0-5][0-9]\

我需要使用正则表达式验证HHmm。 下面是我的代码 ([0-9]| 0[0-9]| 1[0-9]| 2[0-3])[0-5][0-9]

这对我来说很好 24:20 12:59 12点60分和2400分失败 它也通过了123和127128。。 我需要两位数的分钟,即使是一位数也需要

我怎样才能避免这种情况。
提前感谢

您需要为正则表达式定义边界。有了这些,您可以确定它不会简单地匹配字符串
24:20
中的
4:20
。因此,有了这个,它将是:

\b([01]?[0-9]|2[0-3])[0-5][0-9]\b

我所做的另一个更改是:我将
[0-9]|0[0-9]|1[0-9]
合并为一个较短的
[01]?[0-9]

如果你想匹配一个HH:MM格式,你就应该在它的中间放置一个<代码>:< /> >:

\b([01]?[0-9]|2[0-3]):[0-5][0-9]\b


如果要限制4位时间戳的匹配(因此不是159而是0159),只需删除该表达式中的

\b([01][0-9]|2[0-3])[0-5][0-9]\b

您好,使用上面的一个,127通过了,我不需要通过this@user2979719你的确切意思是什么?我不需要通过127,我只需要通过hhmm而不是hhm,而且127也不应该通过。请看第三个演示。这是你想要的吗?您可以通过修改演示中的文本来自己测试它。