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

skyline86 29 Messages postés mardi 21 octobre 2008Date d'inscription 5 décembre 2009 Dernière intervention - 28 janv. 2009 à 14:15 - Dernière réponse : krimog 1863 Messages postés lundi 28 novembre 2005Date d'inscription 14 février 2015 Dernière intervention
- 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
SharpMao 1025 Messages postés mardi 4 février 2003Date d'inscription 7 juin 2010 Dernière intervention - 28 janv. 2009 à 14:38
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)

Merci SharpMao 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 96 internautes ce mois-ci

Commenter la réponse de SharpMao
skyline86 29 Messages postés mardi 21 octobre 2008Date d'inscription 5 décembre 2009 Dernière intervention - 28 janv. 2009 à 14:48
0
Merci
Merci ça fonctionne
Commenter la réponse de skyline86
maitredede 153 Messages postés vendredi 9 août 2002Date d'inscription 18 septembre 2009 Dernière intervention - 28 janv. 2009 à 15:35
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
cs_Bidou 5507 Messages postés dimanche 4 août 2002Date d'inscription 20 juin 2013 Dernière intervention - 28 janv. 2009 à 18:56
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
cylp 14 Messages postés dimanche 11 mai 2003Date d'inscription 30 avril 2012 Dernière intervention - 26 avril 2012 à 19:49
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
cylp 14 Messages postés dimanche 11 mai 2003Date d'inscription 30 avril 2012 Dernière intervention - 30 avril 2012 à 12:11
0
Merci
Trouvé : \\s
Commenter la réponse de cylp
krimog 1863 Messages postés lundi 28 novembre 2005Date d'inscription 14 février 2015 Dernière intervention - 2 mai 2012 à 14:38
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.