Regex 正则表达式验证HHMM字符串
我有一个正则表达式来验证包含“HHMM”或“HHMM,HHMM”的字符串 这就是我正在使用的:Regex 正则表达式验证HHMM字符串,regex,Regex,我有一个正则表达式来验证包含“HHMM”或“HHMM,HHMM”的字符串 这就是我正在使用的: ^[0-2][0-9][0-5][0-9],[0-2][0-9][0-5][0-9]$ 这种方法在1247正常3247不正常的情况下工作。 类似地,12472200可以,但12472290不行 但是,不允许允许允许24小时时钟值,例如2500。 有没有办法在正则表达式中设置一个复选框,如果小时的第一部分是2,那么第二部分只能是0-4?您可以在正则表达式中使用OR表达式(2[0-4]|[01][0-9
^[0-2][0-9][0-5][0-9],[0-2][0-9][0-5][0-9]$
这种方法在1247
正常3247
不正常的情况下工作。
类似地,12472200
可以,但12472290
不行
但是,不允许允许允许24小时时钟值,例如2500
。
有没有办法在正则表达式中设置一个复选框,如果小时的第一部分是
2
,那么第二部分只能是0-4
?您可以在正则表达式中使用OR表达式(2[0-4]|[01][0-9])
所以它看起来像
^(?:2[0-4]|[01][0-9])[0-5][0-9],(?:2[0-4]|[01][0-9])[0-5][0-9]$
您可以在正则表达式中使用OR表达式(2[0-4]|[01][0-9])
所以它看起来像
^(?:2[0-4]|[01][0-9])[0-5][0-9],(?:2[0-4]|[01][0-9])[0-5][0-9]$
是的,使用
将0x
和1x
案例与2y
分开:
^(?:[01][0-9]|2[0-4])[0-5][0-9],(?:[01][0-9]|2[0-4])[0-5][0-9]$
(?:…)
创建一个非捕获组,从而限制了|
操作符的范围。如果您确实希望捕获HH
值(例如,在以后的替换或其他操作中使用该值),请改用(…)
更新:允许2400
但避免所有其他无效时间,如2411
,可以使用另一个|
完成:
(?:(?:[01][0-9]|2[0-3])[0-5][0-9]|2400)
然而,我认为最好根本不允许任何24MM
(包括2400
),因为它确实应该写00MM
。在这种情况下,正则表达式变成:
^(?:[01][0-9]|2[0-3])[0-5][0-9],(?:[01][0-9]|2[0-3])[0-5][0-9]$
是,使用
|
将0x
和1x
案例与2y
分开:
^(?:[01][0-9]|2[0-4])[0-5][0-9],(?:[01][0-9]|2[0-4])[0-5][0-9]$
(?:…)
创建一个非捕获组,从而限制了|
操作符的范围。如果您确实希望捕获HH
值(例如,在以后的替换或其他操作中使用该值),请改用(…)
更新:允许2400
但避免所有其他无效时间,如2411
,可以使用另一个|
完成:
(?:(?:[01][0-9]|2[0-3])[0-5][0-9]|2400)
然而,我认为最好根本不允许任何24MM
(包括2400
),因为它确实应该写00MM
。在这种情况下,正则表达式变成:
^(?:[01][0-9]|2[0-3])[0-5][0-9],(?:[01][0-9]|2[0-3])[0-5][0-9]$
您可以使用条件和教程。您可以使用条件和教程。是
^([0-1][0-9]|2[0-4])([0-5][0-9])(,([0-1][0-9]|2[0-4])([0-5][0-9]))?$
我希望它对你有用。是的
^([0-1][0-9]|2[0-4])([0-5][0-9])(,([0-1][0-9]|2[0-4])([0-5][0-9]))?$
我希望它能对你有用。不要重新发明轮子。你可以使用一些方法来验证日期。你使用哪种语言!请阅读您使用的标签说明。不要重新发明轮子。有一些方法可以用来验证日期。您使用的是哪种语言!请阅读您使用的标签的说明。谢谢,这对您的帮助很大。但我们刚刚发现2411这样的值也是有效的,所以需要添加检查。但我认为0000-2359已经足够好了,因为我怀疑是否有人使用2400anyhow@En-动议,谢谢,没错。更新了这两个案例的帖子。但是0000-2359似乎是最好的选择。@En动议-别忘了接受答案。这将有助于你在将来获得更多问题的答案。谢谢你的帮助。但我们刚刚发现2411这样的值也是有效的,所以需要添加检查。但我认为0000-2359已经足够好了,因为我怀疑是否有人使用2400anyhow@En-动议,谢谢,没错。更新了这两个案例的帖子。但是0000-2359似乎是最好的选择。@En动议-别忘了接受答案。它将帮助你在将来获得更多问题的答案。