我是正规表达式的新手。如何修改time regexp?
我需要通过regexp检查这个时间18:00(00:00,01:00,05:12,这种格式的任何时间),是正确的还是不正确的。
这里是我的变种:
/[0-9][0-9]:[0-9][0-9]/
我可以改变[0-9] [0-9],以类似2 * [0-9] ???
我是正规表达式的新手。如何修改time regexp?
我需要通过regexp检查这个时间18:00(00:00,01:00,05:12,这种格式的任何时间),是正确的还是不正确的。
这里是我的变种:
/[0-9][0-9]:[0-9][0-9]/
我可以改变[0-9] [0-9],以类似2 * [0-9] ???
如果你想特别匹配18:00
,你应该使用/^\d{2}:\d{2}$/
。迄今为止提供的答案将匹配aaa12:99ddd
。 ^
和$
是锚,并将指示正则表达式特定匹配给定的字符串。
如果您经过24小时验证正则表达式,您可以使用此:/^([01]?[0-9]|2[0-3]):[0-5][0-9]$/
(取自here)。
感谢您的24小时格式.. –
您可以通过添加重复条款进行修改:
/^[0-9]{2}:[0-9]{2}/
但你应该添加的起始和结束的条款:
/^[0-9]{2}:[0-9]{2}$/
有什么问题。 r.test(“108000000:0000”)=> true –
你用什么编程语言来使用这个正则表达式? –
我想它是[0-9] {2}:[0-9] {2}而不是/ [0-9 {2}]:[0-9] {2}/ – gout
该模式应该匹配'18:00'。请提供更多想要匹配的图案以及任何您不想匹配的图案。 – npinti
我建议阅读[正则表达式教程](http://regular-expressions.info),特别是[限制重复](http://www.regular-expressions.info/repeat.html)。 – Nightfirecat
这将匹配'18:00'。它也将匹配“99:00”,“00:99”和“99:99”,它们不是24小时有效的。这是一个理想的行为? (见@ npinti的回答。) –