2009-08-13 3 views
3

я получаю сообщение об ошибке для этого регулярного выражения:Регулярного выражения, чтобы соответствовать 12-часовому времени

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

Это должно быть каким-то время, которое заканчивается в 0 или 5. Так вот некоторые, которые должны работать:

  • 1:25 PM
  • 11:00 утра
  • 9:55 вечера

Но я получаю сообщение об ошибке:

Внутренняя ошибка согласования шаблона '^((([1-9])|(1[0-2])):([0-5])(0|5)/s(A|P)M)$' против значения '1:00 PM'

Что я делаю неправильно?

+0

Какой двигатель регулярного выражения? Вы можете захотеть \\ (вместо (, но это зависит от того, какой синтаксис регулярного выражения вы используете.) –

ответ

5

Я думаю, вы должны использовать \ S не/s

+2

это всегда мелочи ... – Ethan

5

Я думаю, что вместо '/ с', вы желающей '\ S', не так ли?

7

\ s, not/s. Но вы также должны сделать это \ s +, так как люди вставляют много пробелов случайно. Вероятно, было бы неплохо начинать и заканчивать регулярное выражение с помощью \ s *. А что, если кто-то ставит время 09:50? включить 0 в эту первую группу.

Смежные вопросы