正则表达式匹配12小时的时间

时间:2009-08-13 17:09:22

标签: regex

我不断收到这个正则表达式的错误:

^((([1-9])|(1[0-2])):([0-5])(0|5)/s(A|P)M)$

它应该是一个以0或5结尾的时间。所以这里有一些应该有效:

  • 1:25 PM
  • 11:00 AM
  • 9:55 PM

但我不断收到此错误消息:

内部错误匹配模式'^((([1-9])|(1[0-2])):([0-5])(0|5)/s(A|P)M)$'与值'1:00 PM'

我做错了什么?

3 个答案:

答案 0 :(得分:7)

\ s,而不是/ s。但你也应该做到这一点,因为人们偶然会插入很多空格。使用\ s *开始和结束正则表达式可能不是一个坏主意。如果有人在09:50投入时间怎么办?在第一组中包含0。

答案 1 :(得分:5)

我认为你应该使用\ s not / s

答案 2 :(得分:5)

我想而不是'/ s',你想要'\ s',不是吗?