Nous recommandons d’utiliser Visual Studio 2017

Utilisation d'expressions régulières dans Visual Studio

 

Pour obtenir la dernière documentation sur Visual Studio 2017, consultez Documentation Visual Studio 2017.

Visual Studio utilise les expressions régulières du .NET Framework pour rechercher et remplacer du texte. Pour plus d'informations sur les expressions régulières .NET, consultez Expressions régulières du .NET Framework.

Avant Visual Studio 2012, Visual Studio utilisait la syntaxe d'expression régulière personnalisée dans les fenêtres Rechercher et remplacer. Consultez Conversions des expressions régulières Visual Studio pour obtenir une explication de la façon de convertir certains des symboles d'expressions régulières personnalisées les plus couramment utilisés dans les versions du .NET Framework.

System_CAPS_ICON_tip.jpg Astuce

Dans les systèmes d'exploitation Windows, la plupart des lignes se terminent par « \r\n » (retour chariot suivi d'une nouvelle ligne). Ces caractères ne sont pas visibles, mais sont présents dans l'éditeur et sont transmis au service d'expressions régulières .NET.

System_CAPS_ICON_tip.jpg Astuce

Pour plus d'informations sur les expressions régulières utilisées dans les modèles de remplacement, consultez Substitutions. Pour utiliser un groupe de captures numéroté, la syntaxe est $1 pour spécifier le groupe numéroté et (x) pour spécifier le groupe en question. Par exemple, l'expression régulière groupée (\d)([a-z]) recherche quatre correspondances dans la chaîne suivante : 1a 2b 3c 4d. La chaîne de remplacement z$1 convertit cette chaîne en z1 z2 z3 z4.

Voici quelques exemples.

ObjectifExpressionExemple
Correspond à n'importe quel caractère unique (sauf un saut de ligne).a.o correspond à « aro » dans « around » et à « abo » dans « about », mais pas à « acro » dans « across ».
Correspond à zéro ou plusieurs occurrences de l'expression précédente (correspond à autant de caractères que possible)*a*r correspond à « r » dans « rack », à « ar » dans « ark » et à « aar » dans « aardvark »
Correspond à n'importe quel caractère zéro ou plusieurs fois (caractère générique *).*c.*e correspond à « cke » dans « racket », à « comme » dans « commentaire » et à « code » dans « code »
Correspond à une ou plusieurs occurrences de l'expression précédente (correspond à autant de caractères que possible)+e.+e correspond à « eede » dans « feeder » mais pas à « ee ».
Correspond à n'importe quel caractère une ou plusieurs fois (caractère générique ?).+e.+e correspond à « eede » dans « feeder » mais pas à « ee ».
Correspond à zéro ou plusieurs occurrences de l'expression précédente (correspond au minimum de caractères possible)*?e.*?e correspond à « ee » dans « feeder » mais pas à « eede ».
Correspond à une ou plusieurs occurrences de l'expression précédente (correspond au minimum de caractères possible)+?e.+?e correspond à « ente » et « erprise » dans « enterprise », mais pas au mot entier « enterprise ».
Ancre la chaîne de correspondance au début d'une ligne ou d'une chaîne^^car correspond au mot « car » uniquement lorsqu'il apparaît au début d'une ligne.
Ancre la chaîne de correspondance à la fin d'une ligne\r?$Fin\r?$ correspond au mot « fin » uniquement lorsqu'il apparaît à la fin d'une ligne.
Correspond à n'importe quel caractère unique d'un ensemble[abc]b[abc] correspond à « ba », « bb » et « bc ».
Correspond à n'importe quel caractère dans une plage de caractères[a-f]be[n-t] correspond à « bet » dans « between », à « ben » dans « beneath » et à « bes » dans « beside », mais pas à « below ».
Capture et numérote implicitement l'expression contenue dans les parenthèses()([a-z])X\1 correspond à « aXa »et à « bXb », mais pas à « aXb » . « \1 » fait référence au premier groupe d'expression « [a-z] ».
Invalide une correspondance(?!abc)real (?!ity) correspond à « real » dans « realty » et dans « really » mais pas dans « reality ». Trouve également le deuxième « real » (mais pas le premier « real ») dans « realityreal ».
Correspond à n'importe quel caractère qui ne figure pas dans un ensemble donné de caractères[^abc]be[^n-t] correspond à « bef » dans « before », à « beh » dans « behind » et à « bel » dans « below », mais pas à « beneath ».
Correspond à l'expression placée avant ou après le symbole.|(salle|serviette) de bain correspond à « salle de bain » et à « serviette de bain ».
Crée une séquence d'échappement pour le caractère placé après la barre oblique inverse\\^ correspond au caractère ^.
Spécifie le nombre d'occurrences du caractère ou du groupe précédent{x}, où x est le nombre d'occurrencesx(ab){2}x correspond à « xababx » et x(ab){2,3}x correspond à « xababx » et à « xabababx », mais pas à « xababababx ».
Met en correspondance du texte dans une classe de caractères Unicode, où « X » est le numéro Unicode. Pour plus d'informations sur les classes de caractères Unicode, consultez

 Propriétés des caractères du standard Unicode 5.2.
\p{X}\p{Lu} correspond à « T » et « D » dans « Thomas Doe ».
Correspond à la limite d'un mot\b (en dehors d'une classe de caractères, \b spécifie une limite de mot et, à l'intérieur d'une classe de caractères, \b spécifie un retour arrière)\bin correspond à « in » dans « intérieur », mais pas dans « pintade ».
Correspond à un saut de ligne (c'est-à-dire un retour chariot suivi d'une nouvelle ligne)\r? \nFin\r?\nDébut correspond à « Fin » et à « Début » uniquement lorsque « Fin » est la dernière chaîne d'une ligne et « Début » la première chaîne de la ligne suivante.
Correspond à n'importe quel caractère alphanumérique\wa\wd correspond à « add » et à « a1d » mais pas à « a d ».
Correspond à n'importe quel espace blanc(?([^\r\n])\s)Public\sInterface correspond à l'expression « Public Interface ».
Correspond à n'importe quel caractère numérique\d\d correspond à « 3 » dans « 3456 », à « 2 » dans « 23 » et à « 1 » dans « 1 ».
Correspond à un caractère Unicode\uXXXX où XXXX spécifie la valeur du caractère Unicode.\u0065 correspond au caractère « e ».
Correspond à un identificateur\b(_\w+|[\w-[0-9_]]\w*)\bCorrespond à « type1 » mais pas à « &type1 » ni « #define ».
Correspond à une chaîne entre guillemets((\".+? \")|('.+?'))Correspond à n'importe quelle chaîne entre apostrophes ou guillemets.
Correspond à un nombre hexadécimal\b0[xX]([0-9a-fA-F])\bCorrespond à « 0xc67f » mais pas à « 0xc67fc67f ».
Correspond à des nombres entiers et décimaux\b[0-9]*\.*[0-9]+\bCorrespond à « 1,333 ».

Recherche et remplacement de texte

Afficher: