Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1276 connectés 

  FORUM HardWare.fr
  Programmation
  C#/.NET managed

  [C#.NET] expressions régulières

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[C#.NET] expressions régulières

n°2060208
niko59480
O_o'
Posté le 01-03-2011 à 09:27:55  profilanswer
 

Bonjour à tous,
 
Je suis confronté à un problème lié à des expressions régulières et n'étant pas fréquemment utilisateur de ce genre d'expression, je m'en remet à vous.
 
Dans un premier temps, je dois vérifier que le texte saisi correspond bien à des noms de ville séparés par une virgule et un espace (", " ).
J'ai donc commencé à écrire mon expression mais celle-ci ne fonctionne pas (ou du moins pas correctement) :  
Regex zoneexp = new Regex("^((([a-zA-Z])(, )|([a-zA-Z]))*)$" );
 
Dans un deuxième temps, je recommence l'opération mais avec des code postaux seulement séparés par une virgule (ex : 65123,12345,45678).
Pour celle-ci, je n'ai que l'expression permettant de vérifier un seul code postal :  
Regex cpzoneexp = new Regex("^((0[1-9])|([1-8][0-9])|(9[0-8])|(2A)|(2B))[0-9]{3}$" );
 
Merci d'avance pour votre aide


Message édité par niko59480 le 01-03-2011 à 10:12:48
mood
Publicité
Posté le 01-03-2011 à 09:27:55  profilanswer
 

n°2060309
gilou
Modérateur
Modzilla
Posté le 01-03-2011 à 11:27:14  profilanswer
 

Si ceci "^((0[1-9])|([1-8][0-9])|(9[0-8])|(2A)|(2B))[0-9]{3}$" est la regexp pour un code postal,  
"^(((0[1-9])|([1-8][0-9])|(9[0-8])|(2A)|(2B))[0-9]{3},)*((0[1-9])|([1-8][0-9])|(9[0-8])|(2A)|(2B))[0-9]{3}$" est celle pour une suite de telles expressions séparées par une virgule.
On passe de A à (A,)*A
 
Pour les villes, il faudrait déjà définir comment est constitué un nom de ville (des accents? apostrophes? lettres accentuées? majuscules? trait d'union?...)
Quand vous aurez la regexp pour un nom de ville, une transformation A -> (A, )*A vous donnera celle de la liste séparée par une virgule plus un espace.
 
A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
n°2060313
niko59480
O_o'
Posté le 01-03-2011 à 11:34:01  profilanswer
 

merci gilou pour cette réponse!
 
pour les villes, elles peuvent contenir tous caractères "normaux" : ' <espace(s)> - <accents en tout genre> etc... mais bien sur pas de chiffres. j'en suis la :  
var zoneexp = new Regex("^(([a-zA-Z ]+)(, ))*([a-zA-Z ]+)$" );
 
je me demande donc quels caractères sont à rajouter avec un \ devant et lesquels n'en ont pas besoin...


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C#/.NET managed

  [C#.NET] expressions régulières

 

Sujets relatifs
[Batch] Rechercher des fichiers dans C:[C++] erreur : no matching function for call
Probléme language Ccross compil C Ubuntu vers Autres (SUN, HP, AIX...)
Progamme en C pour fusionner deux imagesLa Quadrature du Net cherche de laide pour réécrire Mémoire Politique
[C#] enum et structISO C++ forbids declaration of SHA1
[C++] Comment récupérer La mémoire virtuelle occupée par un processus?Erreur dans l'appel d'une procédure stockée sous Visual C++ (6.0)
Plus de sujets relatifs à : [C#.NET] expressions régulières


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR