Expressions régulières (Visual Studio)

Mise à jour : novembre 2007

Les expressions régulières constituent une notation souple et concise pour rechercher et remplacer des modèles de texte. Vous pouvez utiliser un jeu spécifique d'expressions régulières dans les champs Rechercher et Remplacer par de la Rechercher et remplacer, fenêtre lorsque vous effectuez des opérations Recherche rapide, Rechercher dans les fichiers, Remplacement rapide ou Remplacer dans les fichiers.

Pour activer les expressions régulières, développez Options de recherche dans la fenêtre Rechercher et remplacer et sélectionnez Utiliser puis Expressions régulières. Les boutons triangulaires du Générateur d'expressions s'affichent en regard des champs Rechercher et Remplacer par. Cliquez sur le bouton pour afficher la liste des expressions régulières fréquemment utilisées. Lorsque vous cliquez sur une expression régulière de la liste, elle est insérée à l'emplacement du curseur dans les champs Rechercher ou Remplacer par. Lorsque vous cliquez sur Liste complète des caractères en bas du Générateur d'expressions, une rubrique d'aide apparaît. La rubrique contient toutes les expressions régulières reconnues par la fonction de recherche et de remplacement Visual Studio. Vous pouvez copier une expression régulière dans la rubrique, puis la coller dans les champs Rechercher ou Remplacer par. 

Remarque :

Il existe des différences de syntaxe entre les expressions régulières utilisables dans Rechercher et Remplacer par et celles qui sont valides en programmation .NET Framework. Par exemple, dans Rechercher et remplacer, les accolades {} sont utilisées pour les expressions avec balises et l'expression zo{1} correspond à toutes les occurrences de zo suivies de la balise 1, comme dans Alonzo1 et Gonzo1. Cette syntaxe d'expression régulière diffère de celle utilisée par le .NET Framework qui utilise la notation {} pour les quantificateurs. L'expression zo{1} correspondrait à toutes les occurrences de z suivies d'un o, comme dans zone mais pas dans zoo.

Expressions régulières pour les opérations Rechercher et remplacer

Les expressions régulières fréquemment utilisées qui apparaissent dans le Générateur d'expressions sont les suivantes.

Expression

Syntaxe

Description

Exemple

Tout caractère

.

Représente tout caractère unique, à l'exception du saut de ligne.

t.u correspond à "tou" dans "tourisme" et "tau" dans "taureau", mais pas à "talu" dans "talus".

Zéro ou plusieurs

*

Représente zéro ou plusieurs occurrences de l'expression précédente, avec toutes les concordances possibles.

a*b correspond à "b" dans "bas" et "ab" dans "abcès".

e.*e correspond au mot "entreprise".

Un ou plusieurs

+

Représente au moins une occurrence de l'expression précédente.

ac+ correspond aux mots qui contiennent la lettre "a" et au moins une instance de "c", comme dans "race" et "acte".

a.+s correspond au mot "accès".

Début de ligne

^

Ancre la chaîne de concordance au début d'une ligne.

^car correspond au mot "car" uniquement lorsqu'il apparaît comme premier jeu de caractères sur une ligne de l'éditeur.

Fin de ligne

$

Ancre la concordance à la fin d'une ligne.

fin$ correspond uniquement au mot "fin" lorsqu'il apparaît comme dernier jeu de caractères possible à la fin d'une entrée de ligne dans l'éditeur.

Début de mot

<

Représente la concordance uniquement lorsqu'un mot commence à cette position dans le texte.

<in correspond à des mots comme "intérieur" et "intact" qui commencent par les lettres "in".

Fin de mot

>

Représente la concordance uniquement lorsqu'un mot se termine à cette position dans le texte.

al> correspond à des mots comme "local" et "cheval" qui se terminent par les lettres "al".

Saut de ligne

\n

Représente un saut de ligne indépendant du système d'exploitation. Dans une expression Remplacer, insère un saut de ligne.

Fin\nDébut correspond uniquement au mot "Fin" et "Début" lorsque "Fin" est la dernière chaîne d'une ligne et "Début" la première chaîne de la ligne suivante.

Dans une expression Remplacer,

Début\nFin remplace le mot "Fin" par "Début" sur la première ligne, insère un saut de ligne, puis remplace le mot "Début" par le mot "Fin."

Tout caractère du jeu

[]

Représente tout caractère figurant entre les crochets []. Pour spécifier une plage de caractères, répertoriez les caractères de début et de fin, en les séparant par un tiret (-) ; par exemple [a-z].

te[l-r] correspond à "tel" dans "telle", "ter" dans "terre", mais pas "tes" dans "testament".

Tout caractère hors jeu

[^...]

Représente tout caractère ne figurant pas dans le jeu qui suit ^.

do[^n-t] correspond à "dor" dans "dormir", "dos" dans "dossier" et "doc" dans "docile", mais pas "don" dans "donneur".

Or

|

Représente l'expression placée avant ou après le symbole OR (OU) (|). Principalement utilisé dans un groupe.

compte (courant|rendu) retourne « compte courant » et « compte rendu ».

Échappement

\

Représente le caractère qui suit la barre oblique inverse (\) sous la forme d'un littéral. Cette syntaxe vous permet de rechercher les caractères utilisés dans les expressions régulières, tels que { et ^.

\^ recherche le caractère ^.

Expression avec balises

{}

Représente le texte placé entre les balises de l'expression délimitée.

zo{1} correspond à "zo1" dans "Alonzo1" et "Gonzo1", mais pas à "zo" dans "zone".

Identificateur C/C++

:i

Représente l'expression ([a-zA-Z_$][a-zA-Z0-9_$]*).

Correspond à tout identificateur C/C++ possible.

Chaîne entre guillemets

:q

Représente l'expression (("[^"]*")|('[^']*')) qui correspond à tous les caractères placés entre guillemets doubles ou simples, guillemets compris.

:q correspond à "guillemet" et 'guillemet' mais pas à 'h de aujourd'hui.

Espace ou tabulation

:b

Représente un espace ou une tabulation.

Place:bpublique correspond à l'expression "Place publique".

Entier

:z

Représente l'expression ([0-9]+) qui correspond à toute combinaison de caractères numériques.

Représente n'importe quel entier, tel que "1", "234", "56", etc.

La liste des expressions régulières valides dans les opérations de recherche et de remplacement dépasse la capacité d'affichage du Générateur d'expressions. Bien que les expressions régulières suivantes n'apparaissent pas dans le Générateur d'expressions, vous pouvez les utiliser dans les champs Rechercher ou Remplacer par.

Expression

Syntaxe

Description

Exemple

Zéro ou plusieurs occurrences au minimum

@

Représente zéro ou plusieurs occurrences de l'expression précédente, en faisant correspondre le moins de caractères possible.

e.@e correspond à "entr" et "reprise" dans "entreprise", mais pas au mot entier "entreprise".

Une ou plusieurs occurrences au minimum

#

Représente une ou plusieurs occurrences de l'expression précédente, en faisant correspondre le moins de caractères possible.

so# correspond aux mots qui contiennent la lettre "s" et au moins une instance de "o", comme dans "sot".

a.#e correspond à "allé" dans le mot "allée".

Répétition n fois

^n

Représente n occurrences de l'expression précédente.

[0-9]^4 représente une séquence quelconque de 4 chiffres.

Regroupement

()

Permet de regrouper un ensemble d'expressions. Si vous souhaitez rechercher en une même fois deux expressions différentes, vous pouvez utiliser l'expression de regroupement pour les associer.

Pour rechercher - [a-z][1-3] ou - [1-10][a-z], associez-les comme suit : ([a-z][1-3]) | ([1-10][a-z]).

nÉnième texte balisé

\n

Dans une expression Rechercher ou Remplacer, recherche la concordance du texte correspondant à la nénième expression avec balises, où n désigne un chiffre compris entre 1 et 9.

Dans une expression Remplacer, \0 insère le texte correspondant à l'expression entière.

Si vous recherchez a{[0-9]} et que vous le remplacez par \1, toutes les occurrences de la lettre "a" suivies d'un chiffre sont remplacées par le chiffre qui suit la lettre "a". Par exemple, "a1" est remplacé par "1", "a2" est remplacé par "2", etc.

Champ justifié à droite

\(w,n)

Dans une expression Remplacer, aligne à droite la nénième expression avec balises dans un champ comportant au moins w caractères.

Si vous recherchez a{[0-9]} et que vous le remplacez par \(10,1), les occurrences de "an" sont remplacées par l'entier et alignées à droite de 10 espaces.

Champ justifié à gauche

\(-w,n)

Dans une expression Remplacer, aligne à gauche la nénième expression avec balises dans un champ comportant au moins w caractères.

Si vous recherchez a{[0-9]} et que vous le remplacez par \(-10,1), les occurrences de "an" sont remplacées par l'entier et alignées à gauche de 10 espaces.

Empêcher la concordance

~(X)

Empêche la recherche d'une concordance quand le caractère X apparaît à cet endroit dans l'expression.

réal~(ité) correspond à « réal » dans « réalisme » et « réalisation », mais pas à « réal » dans « réalité ».

Caractère alphanumérique

:a

Représente l'expression ([a-zA-Z0-9]).

Correspond à tout caractère alphanumérique, tel que "a", "A", "w", "W", "5", etc.

Caractère alphabétique

:c

Représente l'expression([a-zA-Z]).

Correspond à tout caractère alphabétique, tel que "a", "A", "w", "W", etc.

Chiffre décimal

:d

Représente l'expression([0-9]).

Représente n'importe quel chiffre, tel que "4" et "6".

Chiffre hexadécimal

:h

Représente l'expression([0-9a-fA-F]+).

Représente tout nombre hexadécimal, tel que "1A", "ef" et "007".

Nombre rationnel

:n

Représente l'expression (([0-9]+.[0-9]*)|([0-9]*.[0-9]+)|([0-9]+)).

Représente n'importe quel nombre rationnel, tel que "2007", "1,0" et "0,9".

Séquence de caractères alphabétiques

:w

Représente l'expression ([a-zA-Z]+).

Représente toute chaîne contenant des caractères alphabétiques.

Échappement

\e

Unicode U+001B.

Représente le caractère d'échappement.

Bell

\g

Unicode U+0007.

Représente le caractère de contrôle Bell.

Retour arrière

\h

Unicode U+0008.

Représente le caractère de contrôle Retour arrière.

Tabulation

\t

Unicode U+0009.

Correspond à un caractère de tabulation.

Caractère Unicode

\x#### ou \u####

Représente un caractère donné selon une valeur Unicode où #### désigne 1 à 4 chiffres hexadécimaux. Vous pouvez spécifier un caractère n'appartenant pas au plan BMP (Basic Multilingual Plane), autrement dit, un substitut à l'aide du point de code ISO 10646 ou de deux points de code Unicode spécifiant les valeurs de la paire de substitution.

\u0065 correspond au caractère "e".

Le tableau suivant répertorie les abréviations de deux lettres utilisées pour spécifier les catégories générales figurant dans la base de données de propriétés de caractères Unicode. Vous pouvez utiliser ces abréviations dans le cadre d'un jeu de caractères d'expression régulière. Ainsi, l'expression [:Nd:Nl:No] représente n'importe quel type de chiffre.

Pour plus d'informations sur la base de données de propriétés de caractères Unicode, consultez Unicode Standard 5.0 Character Properties.

Expression

Syntaxe

Description

Lettre majuscule

:Lu

Représente n'importe quelle lettre majuscule.

Par exemple :

:Luac correspond à "Lac" mais pas à "lac".

Lettre minuscule

:Ll

Représente n'importe quelle lettre minuscule.

Par exemple :

:Llac correspond à "lac" mais pas à "Lac".

Lettre capitale

:Lt

Représente les caractères associant une lettre majuscule à une lettre minuscule, par exemple Nj et Dz.

Lettre de modificateur

:Lm

Représente des lettres ou de la ponctuation, telle que des virgules, des accents croisés et guillemets doubles qui servent à indiquer les modifications apportées à la lettre précédente.

Autre lettre

:Lo

Représente d'autres lettres, telles que la lettre gothique ahsa.

Chiffre décimal

:Nd

Représente des chiffres décimaux, comme 0 à 9 et leurs équivalents pleine largeur.

Chiffre lettre

:Nl

Représente des chiffres lettres, tels que les chiffres romains et le chiffre zéro idéographique.

Autre chiffre

:No

Représente d'autres chiffres, tels que l'ancien chiffre un en italiques.

Ponctuation initiale

:Ps

Représente une ponctuation initiale, comme des parenthèses ou des crochets ouvrants.

Ponctuation finale

:Pe

Représente une ponctuation finale, comme des parenthèses ou des crochets fermants.

Guillemets de ponctuation initiale

:Pi

Représente des guillemets doubles ouvrants.

Guillemets de ponctuation finale

:Pf

Représente des guillemets simples et des guillemets doubles fermants.

Tiret de ponctuation

:Pd

Représente le tiret.

Ponctuation de connexion

:Pc

Représente le trait de soulignement.

Autre ponctuation

:Po

Représente les symboles (,), ?, ", !, @, #, %, &, *, \, (:), (;), ' et /.

Espace de séparation

:Zs

Représente les espaces vides.

Séparateur de ligne

:Zl

Représente le caractère Unicode U+2028.

Séparateur de paragraphe

:Zp

Recherche le caractère Unicode U+2029.

Marqueur sans espace

:Mn

Représente des marqueurs sans espace.

Combinaison de marques

:Mc

Représente des marques d'association.

Marque de délimitation

:Me

Représente des marques de délimitation.

Symbole mathématique

:Sm

Représente les symboles +, =, ~, |, < et >.

Symbole monétaire

:Sc

Représente le symbole $ et autres symboles monétaires.

Symbole de modificateur

:Sk

Représente des symboles modificateurs, tels que l'accent circonflexe, l'accent grave et le trait supérieur.

Autre symbole

:So

Représente d'autres symboles, tels que les signes du copyright, du paragraphe et du degré.

Autre contrôle

:Cc

Correspond aux caractères de contrôle Unicode tels que TAB et SAUT DE LIGNE.

Autre format

:Cf

Mise en forme de caractères de contrôle, tels que les caractères de contrôle bidirectionnels.

Substitut

:Cs

Représente un élément d'une paire de substitution.

Autre usage privé

:Co

Représente n'importe quel caractère de la zone d'utilisation privée.

Autre élément non assigné

:Cn

Représente des caractères qui ne correspondent pas à un caractère Unicode.

Outre les propriétés de caractères Unicode standard, vous pouvez également spécifier les propriétés ci-après comme éléments d'un jeu de caractères.

Expression

Syntaxe

Description

Alpha

:Al

Représente n'importe quel caractère.

Par exemple, :Alpa retourne des mots comme « Par », « partie » ou « épargne ».

Numérique

:Nu

Représente n'importe quel nombre ou chiffre.

Ponctuation

:Pu

Représente n'importe quel signe de ponctuation, tel que ?, @, ', etc.

Espace blanc

:Wh

Représente n'importe quel type d'espace blanc, comme les espaces typographiques et idéographiques.

Bidirectionnel

:Bi

Représente les caractères d'un script se lisant de droite à gauche (langue arabe ou hébraïque).

Hangûl

:Ha

Représente le Jamo coréen hangûl et Jamo d'association.

Hiragana

:Hi

Représente les caractères hiragana.

Katakana

:Ka

Représente les caractères Katakana.

Idéographique/Han/Kanji

:Id

Représente des caractères idéographiques tels Han et Kanji.

Voir aussi

Référence

Caractères génériques (Visual Studio)

Recherche rapide, fenêtre Rechercher et remplacer

Remplacement rapide, fenêtre Rechercher et remplacer

Rechercher dans les fichiers, fenêtre Rechercher et remplacer

Remplacer dans les fichiers, fenêtre Rechercher et remplacer

Commandes Visual Studio utilisant des arguments

Autres ressources

Recherche et remplacement