Qu’est-ce qu’une regex
Une expression régulière est un motif pour trouver du texte. chat trouve les lettres « chat » partout, y compris dans « château ». Des caractères spéciaux permettent au motif de décrire des types de texte plutôt que des lettres exactes.
Les briques de base
. | n’importe quel caractère sauf un saut de ligne |
\d, \w, \s | un chiffre ; une lettre, un chiffre ou un tiret bas ; une espace, une tabulation ou un saut de ligne |
[aeiou], [^0-9] | un de ces caractères ; tout caractère qui n’est pas un chiffre |
*, +, ? | zéro ou plus, un ou plus, zéro ou un de ce qui précède |
{3}, {2,4} | exactement 3 ; entre 2 et 4 |
^, $ | le début et la fin du texte (ou de chaque ligne avec le drapeau m) |
\b | une limite de mot : \bchat\b trouve « chat » mais pas « château » |
( ), | | un groupe réutilisable dans un remplacement ; ceci ou cela |
Pour trouver un caractère spécial tel quel, faites-le précéder d’une barre oblique inversée : \. trouve un point.
Exemples
\d{3}-\d{4}trouve des numéros écrits comme 555-0123.^[ \t]+|[ \t]+$avec les drapeaux g et m trouve les espaces et tabulations en début et fin de chaque ligne, prêts à être remplacés par rien.(\d{4})-(\d{2})-(\d{2})remplacé par$3/$2/$1transforme 2024-09-27 en 27/09/2024.
Drapeaux et correspondance gourmande
Le drapeau g trouve toutes les correspondances et pas seulement la première, i ignore la casse et m fait fonctionner ^ et $ ligne par ligne. Les quantificateurs sont gourmands : <.*> va du premier < au dernier > de la ligne. Ajoutez ? pour qu’ils s’arrêtent le plus tôt possible : <.*?>.
Testez des motifs avec surlignage en direct dans le Testeur de regex, qui utilise la syntaxe JavaScript, et appliquez-les à votre texte avec Rechercher et remplacer.