Partager via


Expressions régulières : un langage

Mise à jour : novembre 2007

Le langage des expressions régulières est spécialement conçu et optimisé pour la manipulation de texte. Ce langage comprend deux principaux types de caractères : les caractères de texte littéral (normal) et les métacaractères. Le jeu de métacaractères confère aux expressions régulières leur puissance de traitement.

Vous connaissez sans doute déjà bien les métacaractères ? et * utilisé dans le système de fichiers DOS pour représenter n'importe quel caractère ou groupe de caractères. La commande de fichier DOS COPY *.DOC A: demande au système de fichiers de copier n'importe quel fichier ayant une extension .DOC sur le disque dans le lecteur A. Le métacaractère * représente n'importe quel nom de fichiers lorsqu'il est indiqué devant l'extension de nom de fichier .DOC. Les expressions régulières fonctionnent selon ce même principe de base, mais de façon beaucoup plus puissante, en faisant appel à un ensemble très étendu de métacaractères qui permettent de décrire des expressions de recherche de correspondances de texte très complexes à l'aide d'un nombre relativement réduit de caractères.

Par exemple, l'expression régulière « \s2000 », lorsqu'elle est appliquée au corps d'un texte, recherche toutes les occurrences de la chaîne « 2000 » précédées d'un caractère de type espace, tel qu'un espace ou une tabulation.

Remarque :

Si vous utilisez C++, C# ou JScript, les caractères d'échappement spéciaux, tels que \s, doivent être précédés d'une barre oblique inverse supplémentaire (par exemple, « \\s2000" »), ce qui indique que la barre oblique inverse du caractère d'échappement est un caractère littéral. Sinon, le moteur de traitement des expressions régulières gère la barre oblique inverse et le s de la chaîne \s comme s'il s'agissait de deux opérateurs distincts. Il n'est pas nécessaire d'ajouter une barre oblique inverse si vous utilisez using Visual Basic 2005. En C#, vous pouvez utiliser des chaînes littérales C#, qui sont précédées d'un @ et désactivent l'échappement (par exemple, @"\s2000").

Les expressions régulières permettent également d'effectuer des recherches plus complexes. Par exemple, l'expression régulière (?<char>\w)\k<char>, qui utilise des groupes nommés et la référence arrière (backreferencing), recherche des caractères appariés adjacents. Lorsqu'elle est appliquée à la chaîne « Cette libellule est belle », elle recherche les correspondances dans les mots « cette », « libellule », « est » et « belle ». (Pour plus d'informations sur cette expression régulière, consultez Backreferences.)

Les sections suivantes décrivent de façon détaillée le jeu des métacaractères qui définissent le langage des expressions régulières du .NET Framework et indiquent comment utiliser les classes d'expressions régulières pour implémenter ces expressions dans vos applications.

Voir aussi

Concepts

Classes d'expressions régulières

Référence

System.Text.RegularExpressions

Autres ressources

Comportement détaillé des expressions régulières

Exemples d'expressions régulières

Éléments du langage des expressions régulières