skyline86
Messages postés29Date d'inscriptionmardi 21 octobre 2008StatutMembreDernière intervention 5 décembre 2009
-
28 janv. 2009 à 14:15
krimog
Messages postés1860Date d'inscriptionlundi 28 novembre 2005StatutMembreDernière intervention14 février 2015
-
2 mai 2012 à 14:38
Bonjour,
Je cherche à faire une expression régulière qui permet de vérifier que l'utilisateur insère uniquement [A-Z] et [0-9] avec en plus des espaces si possible.
Donc voici ce que je fais :
Regex monExpression = new Regex("^[a-zA-Z0-9]*$");
donc je peux effectivement inscrire que des lettres de A à Z et que des chiffres de 0 à 9 mais dès que je met un espace ne fonctionne pas.
maitredede
Messages postés153Date d'inscriptionvendredi 9 août 2002StatutMembreDernière intervention18 septembre 2009 28 janv. 2009 à 15:35
Si tu veux faire des regex, tu peux aussi t'aider de l'outils Expresso http://www.ultrapico.com/Expresso.htm Il te permettra de concevoir et débogger tes regex...
krimog
Messages postés1860Date d'inscriptionlundi 28 novembre 2005StatutMembreDernière intervention14 février 201549 2 mai 2012 à 14:38
Deux petites choses :
tout d'abord, \s correspond à n'importe quel caractère d'espacement (espace, tabulation, retour à la ligne...). Si tu n'accepte que les espaces, tu remplaces tout simple \s par un espace.
Ensuite, concernant ton problème avec "Séquence d'échappement non reconnue", ça vient du fait que \ correspond à un caractère spécial d'un string C#. Donc pour qu'il soit considéré comme le caractère \,
il faut effectivement le doubler
OU (et selon moi, c'est plus indiqué dans des expressions régulières)
il faut précéder ton string de @.
string pattern = @"^[a-zA-Z0-9\s]+$";
Krimog : while (!(succeed = try())) ; - Nous ne sommes pas des décodeurs ambulants. Le style SMS est prohibé. -