Aller au contenu

Guide des Expressions Régulières (Regex)

Ce guide résume les principaux concepts et caractères spéciaux des expressions régulières (regex), ainsi que des exemples d'utilisation dans Notepad++ et d'autres environnements.


1. Introduction

Les expressions régulières sont des motifs permettant de rechercher, filtrer ou remplacer du texte. Elles sont très puissantes pour manipuler des fichiers texte, logs, ou données structurées.


2. Caractères spéciaux courants

Caractère Signification Exemple Résultat / Utilité
\n Saut de ligne (Unix/Linux/macOS) ligne1\nligne2 Sépare ligne1 et ligne2 sur 2 lignes
\r Retour chariot (Mac classique) ligne1\rligne2 Sépare ligne1 et ligne2 sur 2 lignes
\r\n Retour chariot + saut de ligne (Windows) ligne1\r\nligne2 Sépare sur 2 lignes (Windows)
\t Tabulation horizontale col1\tcol2 Affiche col1 col2 (tab large)
\0 Caractère nul (NUL) abc\0def Chaîne contenant un caractère nul, souvent invisible
. N’importe quel caractère sauf saut de ligne a.b Correspond à acb, a1b, etc.
\d Chiffre (0-9) \d\d Deux chiffres consécutifs
\D Non chiffre \D Tout caractère sauf chiffre
\w Lettre, chiffre ou _ \w+ Mot (lettres, chiffres, underscore)
\W Non \w \W Caractère non alphanumérique
\s Espace blanc (espace, tab, saut de ligne) \s+ Un ou plusieurs espaces/blancs
\S Non espace blanc \S+ Chaîne sans espace
^ Début de ligne ^abc abc au début d’une ligne
$ Fin de ligne abc$ abc à la fin d’une ligne
\1, \2 Référence à un groupe capturé (abc)(\d)\1\2 Permet de réutiliser le groupe dans le remplacement

3. Groupes et captures

  • Les parenthèses ( … ) permettent de capturer une partie du texte pour l’utiliser ensuite.
  • Exemple Notepad++ :
Texte original : PLOG3PLJ2001
Regex : (PLOG3PLJ\d{2})\d{2}$
Remplacer par : \112
Résultat : PLOG3PLJ2012
  • Ici :

  • (PLOG3PLJ\d{2}) capture PLOG3PLJ20

    • \d{2}$ correspond aux deux derniers chiffres 01
    • \112 remplace les deux derniers chiffres par 12 tout en conservant la première partie.

    ## 4. Quantificateurs

    Symbole Signification Exemple
    * 0 ou plusieurs répétitions \d* → zéro ou plusieurs chiffres
    + 1 ou plusieurs répétitions \d+ → un ou plusieurs chiffres
    ? 0 ou 1 occurrence \d? → chiffre optionnel
    {n} Exactement n occurrences \d{2} → exactement 2 chiffres
    {n,} Au moins n occurrences \d{2,} → 2 chiffres ou plus
    {n,m} Entre n et m occurrences \d{2,4} → 2 à 4 chiffres

    ## 5. Exemples pratiques

    ### Remplacer les deux derniers chiffres

    • Texte :
    PLOG3PLJ0001
    PLOG3PLJ1001
    PLOG3PLJ2001
    
    • Regex :
    (PLOG3PLJ\d*)\d{2}$
    
    • Remplacer par :
    \112
    
    • Résultat :
    PLOG3PLJ0012
    PLOG3PLJ1012
    PLOG3PLJ2012
    

    ### Remplacer tous les retours à la ligne par un espace

    • Regex :
    \r?\n
    
    • Remplacer par :
    <espace>
    
    • Résultat : toutes les lignes seront sur une seule ligne.

    ### Remplacer les tabs par un autre séparateur

    • Regex :
    \t
    
    • Remplacer par :
    ;
    
    • Utile pour transformer un fichier TSV en CSV.

    ## 6. Conseils

    1. Toujours tester la regex sur un petit extrait avant de l’appliquer sur un fichier entier.
    2. Utiliser les groupes capturés pour ne modifier qu’une partie de la chaîne.
    3. Pour les fichiers multi-plateformes, tenir compte de \r, \n et \r\n.