Maîtriser les expressions régulières en C# : guide pratique Regex
Une expression régulière (regex) est un motif qui peut être comparé à un texte d'entrée. Le framework .NET fournit un moteur regex pour cette correspondance.
Un motif comprend : littéraux caractères, opérateurs, constructions.
Constructions pour définir des regex
- Échappements de caractères
- Classes de caractères
- Ancres
- Constructions de groupement
- Quantificateurs
- Rétro-références
- Alternatives
- Substitutions
- Constructions diverses
La classe Regex
Représente une expression régulière. Méthodes courantes :
| Méthode | Description |
|---|---|
IsMatch(input) | Vérifie si le motif correspond dans la chaîne |
IsMatch(input, startat) | Vérifie à partir d'une position |
IsMatch(input, pattern) | Statique : vérifie motif dans chaîne |
Matches(input) | Trouve toutes occurrences (MatchCollection) |
Replace(input, replacement) | Remplace toutes correspondances |
Split(input) | Divise chaîne selon motif |
Exemple 1 : mots commençant par 'S'
using System;
using System.Text.RegularExpressions;
namespace ApplicationRegex
{
class Programme
{
private static void AfficherCorrespondances(string texte, string motif)
{
Console.WriteLine("Expression : " + motif);
MatchCollection mc = Regex.Matches(texte, motif);
foreach (Match m in mc)
Console.WriteLine(m);
}
static void Main(string[] args)
{
string str = "A Thousand Splendid Suns";
Console.WriteLine("Mots commençant par 'S' :");
AfficherCorrespondances(str, @"\bS\S*");
Console.ReadKey();
}
}
}
Résultat :
Expression : \bS\S*
Splendid
Suns
Exemple 2 : mots commençant par 'm' et finissant par 'e'
string str = "make maze and manage to measure it";
Console.WriteLine("Mots commençant par 'm' et finissant par 'e' :");
AfficherCorrespondances(str, @"\bm\S*e\b");
Résultat :
Expression : \bm\S*e\b
make
maze
manage
measure
Exemple 3 : remplacement d'espaces multiples
string input = "Hello World ";
string pattern = @"\s+";
string replacement = " ";
Regex rgx = new Regex(pattern);
string result = rgx.Replace(input, replacement);
Console.WriteLine("Original : {0}", input);
Console.WriteLine("Remplacé : {0}", result);
Résultat :
Original : Hello World
Remplacé : Hello World
Motifs courants utiles
- Email :
^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$ - URL :
^(https?://)?([\w-]+\.)+[\w-]+(/.*)?$ - Entier :
^\d+$ - Date JJ/MM/AAAA :
^\d{2}/\d{2}/\d{4}$
Langue C
- Expressions, instructions et blocs C# : Guide complet avec exemples pratiques
- Maîtriser les chaînes C# : Fondamentaux, opérations et techniques avancées
- Comprendre les expressions, instructions et blocs en Java
- Maîtriser les chaînes de caractères en Java : Création, méthodes et bonnes pratiques
- Maîtriser les représentations en chaînes dans les enums Java
- Maîtriser les expressions lambda Java : Des bases à l'API Stream
- Maîtriser les fonctions de chaînes C++ : strcpy, strcat, strlen, strcmp – Exemples pratiques
- Chaînes de caractères en C simplifiées : Déclaration, entrée, sortie et fonctions de bibliothèque
- Maîtriser str.count() de Python : Compter caractères et sous-chaînes avec exemples