2009-08-13 96 views
3

我不断收到一个错误的正则表达式:正则表达式匹配12小时的时间

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

这应该是在0结束或5.因此,这里有一些应该工作时间:

  • 1:25 PM
  • 11:00 AM
  • 下午9时55

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

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

我在做什么错?

+0

什么是正则表达式引擎?您可能需要\\(而不是(但是,这取决于您使用的是哪种正则表达式语法。) – 2009-08-13 17:39:44

回答

5

我认为你应该使用\不是/ s的

+2

它总是小事情...... – Ethan 2009-08-13 17:16:30

5

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

7

\ s,not/s。但是你也应该让它成为\ s +,因为人们偶然会插入很多空格。用\ s *开始和结束正则表达式也许不是一个坏主意。如果某人放入09:50时间会怎么样?在第一组中包含0。