C# - Expression Régulière [Résolu]

Messages postés
29
Date d'inscription
mardi 21 octobre 2008
Dernière intervention
5 décembre 2009
- - Dernière réponse : krimog
Messages postés
1863
Date d'inscription
lundi 28 novembre 2005
Dernière intervention
14 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.

Donc comment faire ???

Merci d'avance pour vos réponses.

Cordialement
Afficher la suite 

Votre réponse

7 réponses

Meilleure réponse
Messages postés
1025
Date d'inscription
mardi 4 février 2003
Dernière intervention
7 juin 2010
3
Merci
Hello,

L'espace dans les regex  se met \s, donc essaie avec :
"^[a-zA-Z0-9\s]*$"

Amicalement, SharpMao

"C'est pas parce qu'ils sont nombreux à avoir tort qu'ils ont raison!"
(Coluche / 1944-1986 / Pensées et anecdotes)

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 98 internautes nous ont dit merci ce mois-ci

Commenter la réponse de SharpMao
Messages postés
29
Date d'inscription
mardi 21 octobre 2008
Dernière intervention
5 décembre 2009
0
Merci
Merci ça fonctionne
Commenter la réponse de skyline86
Messages postés
153
Date d'inscription
vendredi 9 août 2002
Dernière intervention
18 septembre 2009
0
Merci
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...
Commenter la réponse de maitredede
Messages postés
5507
Date d'inscription
dimanche 4 août 2002
Dernière intervention
20 juin 2013
0
Merci
Et si une string vide n'est pas valide, tu peux mettre ceci:
"^[a-zA-Z0-9\s]+$"

<hr />
-Blog-
-Site Perso-
Commenter la réponse de cs_Bidou
Messages postés
14
Date d'inscription
dimanche 11 mai 2003
Dernière intervention
30 avril 2012
0
Merci
Bonjour tout le monde,

Ben moi, j'ai une erreur sur le \s dans cette expression : Séquence d'échappement non reconnue ???

Quelqu'un a-t'il une idée ?

D'avance merci
Commenter la réponse de cylp
Messages postés
14
Date d'inscription
dimanche 11 mai 2003
Dernière intervention
30 avril 2012
0
Merci
Trouvé : \\s
Commenter la réponse de cylp
Messages postés
1863
Date d'inscription
lundi 28 novembre 2005
Dernière intervention
14 février 2015
0
Merci
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é. -
Commenter la réponse de krimog

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.