2009-08-13 10 views
3

Je continue à obtenir une erreur pour cette expression régulière:Expression régulière pour correspondre à 12 heures

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

Il est censé être un temps qui se termine par 0 ou 5. Voici quelques-unes qui devrait fonctionner:

  • 1:25 PM
  • 11:00
  • 21h55

Mais je continue à recevoir ce message d'erreur:

modèle correspondant d'erreur interne '^((([1-9])|(1[0-2])):([0-5])(0|5)/s(A|P)M)$' contre valeur '1:00 PM'

Qu'est-ce que je fais mal?

+0

Quel moteur regex? Vous pouvez vouloir \\ (au lieu de (, mais cela dépend de la syntaxe que vous utilisez.) –

Répondre

5

Je pense que vous devriez utiliser \ s pas/s

+2

c'est toujours les petites choses ... – Ethan

5

Je pense au lieu de '/ s', vous êtes désireux '\' s, ne sont pas vous?

7

\ s, pas/s. Mais vous devriez aussi le faire \ s + puisque les gens insèrent beaucoup d'espaces par accident. Probablement ne serait pas une mauvaise idée de commencer et terminer l'expression rationnelle avec \ s * aussi. Et si quelqu'un met dans un temps 09:50? inclure 0 dans ce premier groupe.

Questions connexes