Utilisation des
Expressions régulières en
Bienvenue dans ce tutorial consacré à l'utilisation des expressions régulières en c#.

Attention,les gens ignorants ce nom étrange qu'est "expressions regulières"peuvent passer leur chemins, ce tutorial concerne uniquementl'utilisation d'un regex et non pas sa synthaxe. Nous n'apprendrons pasla signification de
[a-zA-Z0-9] mais plutot comment vérifier une chainegrace à une classe de la .net framework 2.0 et biensur avec l'aide deces fameuses expressions régulières.
Pour ce faire, nous allons créer une petite application capaple de vérifier si le format d'un email est le bon.
Pourpouvoir suivre ce tutorial, vous devez avoir Visual C# 2005 (express)et une assez bonne connaissance en ce qui concerne les expressionsrégulières.
Sur ce, commençons :
Créez un nouveau projet que vous appelerez Vérification Email.
Affichez le code de form1.cs et incluez la classe System.Text.RegularExpressions. (

)
Jusque la, rien de bien compliqué me direz vous, et bien rassurez vous, sa va se corser (juste en tout petit peut...)
Ocupons-nousmaintenant de l'interface graphique de notre application (qui, entrenous soit dit, sera quelque peut rudimentaire...), celle-ci est composéd'un champ de texte et d'un Label indiquant la validité de l'email qui,biensur change de couleur en fonction de la validitée (et oui il fauttout de meme penser à l'ergonomie...)
Voici un aperçut de notre magnifique application, qui, pour le moment, ne sert absolument à rien :
Vousl'aurez compris, l'email ne va pas être validée lors de l'appuie d'unbouton par l'utilisateur mais lors de la modification du texte(textBox1_TextChanged).
Passons maintenant a la partie plustechnique de ce tutorial, le code source. Affichez le code source deForm1.cs et rajouter le code suivant dans le corp de la classe :
Ce code instancie un objet de type Regex et va etre utilisé pour pouvoir vérifier notre email.

Pour les têtus qui ont tout de meme voulu lire ce tutorial, je vais expliquer spécialement pour eux ce que veut dire cette chaine :
-
^[a-z-A-Z0-9_.-]+ signifie que la chaine email doit absolument commencer par au moins une lettre (majuscule ou minuscule) ou un chiffre ou les caractères "-","_","." ( paul@hebergeur.com )
- @{1} signifie que la chaine eamil doit ensuite contenir une et une seule fois le caractère "@" ( paul@hebergeur.com )
- [a-z-A-Z0-9_.-]{2,} Signifie que la chaine doit ensuite posséder au moins deux caractères ( paul@hebergeur.com )
- \\. signifie que la chaine doit contenir un point entre l'hebergeur et le domaine ( paul@hebergeur.com )
- [a-z-A-Z0-9_.-]{2,}$ Signifie que le nom de domaine doit posséder entre 2 et 4 caractères ( paul@hebergeur.com )
Retournezensuite sur l'interface graphique et double cliquez sur le champ detexte. La méthode textBox1_TextChanged(object sender, EventArgs e) vaêtre créée.
Placez le code suivant dans cette méthode :

- Structure de la methode textBox1_TextChanged -
Je vais maintenant vous expliquer ce petit bout de code ligne par ligne :
- Nous remarquons tout d'abbord que le code est composé de deux bloc conditionnels (
if(
condition ){...}
else{...} ) et d'un bloc d'essai (
try{...}
catch(
Exception ex){...} ).

Il faut prendre l'habitude de mettre des blocs try un peut partout dans votre code, cela évite les boites de dialogues "L'application Bidule a effectuer un rapport d'erreur et doit fermer".
-

: Cette ligne vérifie que le champ de texte
textBox1 n'est pas vide.
-

: Cette ligne évalue grave à la fonction régulière si le format de l'email est valide ou non.
-

Ces deux lignes de codes sont executées si le format de l'email est corecte, la première change la couleur du label2 en
vert, la seconde change le texte du label2 en "L'adresse email entrée est correcte".
- 
Ces deux lignes de codes sont executées si le format de l'email est incorecte, la première change la couleur du label2 en
rouge, la seconde change le texte du label2 en "L'adresse email entrée n'est pas correcte".-

Ces deux lignes de codes sont executées si le textBox1 est vide, la première change la couleur du label2 en
bleu, la seconde change le texte du label2 en "Veuillez entrer une adresse email".

Ce bloc de code vérifie qu'il n'y a eu aucune erreur au moment de l'execution du bloc try, dans le cas contraire,
serait éxécuté et un message d'erreur affiché.
Vous pouvez maintenant executer notre application (
dans la barre d'outils ou
puis
).
- Première execution de notre application -
- Verification d'une adresse email -

- Verification d'un autre adresse email -

- Veuillez entrer une adresse email -
Comme vous pouvez le remarquer, notre application fonctionne et le résultat est meme plutot beau. Mais il reste tout de meme un tout petit détail que vous avez certainement du remarquer : Au démarrage, l'application affiche "Etat" à la place de "Veuillez entrer une adresse email".
Deux solution s'offrent à nous :
- Modifier directement les propriétés du label2
- Ou modifier, au démarrage, à partir du code, les propriétés du label2
Je vais opter pour la deuxième solution qui me paret la plus propre et me permet de vous faire découvrir (si vous ne le savez pas) comment effectuer une action au démarrage :
Double-cliquez sur votre form1 pour générer la méthode
Form1_Load et insérez le code suivant :