Aller au contenu

Visual Sudio Code et les expressions régulières

logo vscode

Les expressions régulières (regex) sont un outil incroyable pour manipuler et rechercher du texte, en évitant des opérations répétitives. Ce guide vous aidera à utiliser efficacement des regex dans Visual Studio Code.

Quel est le moteur d’expression régulière ?

Visual Studio Code prend en charge deux principaux formats d’expressions régulières, ECMAScript 5 et PCRE2, qui vous permettent d’effectuer des recherches optimisées dans votre code. Cela signifie que la plupart des syntaxes standard dans d’autres langages ou outils fonctionnent également ici.

Ouvrir le Widget de Recherche/Remplacement

  • Pour une recherche simple :

    • Raccourci : CTRL + F
    • Description : Cela ouvre une barre de recherche en haut de votre fichier actuel, vous permettant de trouver du texte spécifique facilement.
  • Pour une recherche avec remplacement :

    • Raccourci : CTRL + H
    • Description : Cela vous permet non seulement de rechercher mais également de remplacer directement des occurrences dans le fichier.
  • Activer l’option Regex :

    • Icône : Cliquez sur l’icône .* située dans la barre de recherche pour activer les expressions régulières.

Concepts de Base des Expressions Régulières

Groupes de Caractères

Les groupes de caractères vous permettent de spécifier une collection de caractères que vous souhaitez faire correspondre :

  • [a-z] : Correspond à n’importe quelle lettre minuscule.
  • [A-Z] : Correspond à n’importe quelle lettre majuscule.
  • [0-9] : Correspond à n’importe quel chiffre.
  • [a-zA-Z0-9] : Correspond à n’importe quelle lettre minuscule, majuscule ou chiffre.

Opérateurs de Connecteur

L’opérateur | agit comme un “ou” logique :

  • Exemple : moi|toi|nous va correspondre à “moi”, “toi”, ou “nous”.

Caractères Spéciaux

Ces caractères ont des significations particulières :

  • \n : Nouveau saut de ligne.
  • \r : Retour chariot
  • \t : Tabulation horizontale.
  • ^ : Indique le début d’une ligne à partir du point de vue du moteur regex.
  • $ : Indique la fin d’une ligne.

Raccourcis Pratiques

  • \w : Correspond à n’importe quelle lettre, chiffre, ou underscore (_).
  • \W : Correspond à n’importe quel caractère qui n’est pas couvert par \w.
  • \s : Correspond à tout caractère d’espace (espaces, tabulations, retours à la ligne).
  • \S : Correspond à tout caractère qui n’est pas d’espace.
  • \d : Correspond à tout chiffre (0-9).
  • \D : Correspond à tout caractère non numérique.

Quantificateurs

Quantificateurs vous permettent de spécifier combien de fois un élément peut apparaître.

  • ? : Zéro ou une occurrence.
  • + : Une ou plusieurs occurrences.
  • * : Zéro ou plusieurs occurrences.
  • {n,m} : Au moins n et au plus m occurrences.

Capture et Réutilisation

Les parenthèses ( ) permettent de capturer des groupes de correspondances :

  • L’utilisation de (mot) capturera “mot” et vous pourrez le référencer avec $1 dans la zone de remplacement, $2 pour la deuxième capture, etc.

Échappement

Si vous voulez chercher un caractère spécial littéralement, vous devrez l’échapper avec \ :

  • Exemple : Pour rechercher un point littéral, utiliser \. car . correspond par défaut à n’importe quel caractère.

Exemples Pratiques

Exemple 1 : Espacer les Variables Ansible

Supposons que vous ayez écrit un playbook Ansible, et vous devez entourer les noms de variables de doubles accolades avec des espaces :

  • Recherche : \{\{(\w+)\}\}
  • Remplacement : \{\{ $1 \}\}

Ici, (\w+) capture le nom de la variable et $1 insère ce nom avec des espaces ajoutés autour dans les accolades.

Exemple 2 : Capitalisation des Descriptions de Tâches

Pour assurer que la description des tâches commence par une majuscule :

  • Recherche : (\s+)- name: (\w+)
  • Remplacement : $1- name: \u$2

L’utilisation de \u$2 met la première lettre du deuxième groupe capturé en majuscule. Le préfixe \l pourrait être utilisé pour minuscule, tandis que \U et \L mettent en majuscules ou minuscules l’intégralité du mot.


Pour continuellement améliorer vos connaissances, n’hésitez pas à consulter des outils en ligne comme regex101.com qui permettent de tester et comprendre les regex à travers des exemples illustratifs.

Ce guide peut être étendu avec des cas d’usages spécifiques selon vos besoins futurs.