Les expressions régulières en C#
Une expression régulière est un motif qui peut être mis en correspondance avec un texte saisi. Le framework .Net fournit un moteur d’expression régulière permettant une telle correspondance. Un motif consiste en un ou plusieurs littéraux.
Syntaxe des expressions régulières
Les syntaxes de base suivantes sont utilisées pour les expressions régulières.
Quantificateurs: *, ?, +.
1. Le quantificateur * correspond au caractère précédent zéro ou plusieurs fois.
Exemple :
2. Le quantificateur + correspond au caractère précédent une fois ou plus.
Exemple :
3. Le quantificateur ? correspond au caractère précédent zéro ou une fois.
Exemple :
Caractères spéciaux: ^, ., $, \d, \w.
1. Le caractère spécial ^ est utilisé pour faire correspondre le début d’une chaîne.
Exemple :
2. Le caractère spécial $ est utilisé pour faire correspondre la fin d’une chaîne.
Exemple :
3. Le caractère .(point) correspond n’importe quel caractère qu’une seule fois.
Exemple :
4. Le caractère \d est utilisé pour faire correspondre un caractère numérique [0-9].
Exemple :
5. Le caractère \D est utilisé pour faire correspondre tout caractère non numérique.
Exemple :
6. Le caractère \w est utilisé pour faire correspondre un caractère alphanumérique plus ‘_’ [0-9A-Za-z_].
Exemple :
7. Le caractère \W est utilisé pour faire correspondre un caractère non alphanumérique [^0-9A-Za-z_].
Exemple :
Classe de caractère:
Vous pouvez grouper des caractères en les mettant entre crochets.
1. [] est utilisé pour faire correspondre une plage de caractères.
Exemple :
2. [^] est utilisé pour faire correspondre tout caractère hormis ceux entre crochets.
Exemple :
3. [a-z] est utilisé pour faire correspondre des caractères alphabétiques de a à z, en minuscules.
Exemple :
4. [0-9] est utilisé pour faire correspondre des chiffres de 0 à 9.
Exemple :
Les expressions régulières en C#
La classe Regex est définie dans le namesapce System.Text.RegularExpressions. Le constructeur de la classe Regex prend un motif en tant que paramètre avec d’autres paramètres facultatifs.
Exemple :
using System; using System.Text.RegularExpressions; public class Program { public static void Main(string[] args) { // Créez un motif pour un mot commençant par la lettre "A" string motif = @"\b[A]\w+"; // Créer une expression régulière Regex r = new Regex(motif); // chaîne de caractéres string Personnes = "Bob, Thomas, Alex, Emily, Aurélien, Alice, Jean, Ali"; // Récupérer tous les correspondants MatchCollection matchedPers = r.Matches(Personnes); // Afficher les correspondants for (int i = 0; i < matchedPers.Count; i++) Console.WriteLine(matchedPers[i].Value); } }
La sortie :
Alex Aurélien Alice Ali