Passer au contenu principal
eLearner.app
Module 3 · Leçon 4 sur 412/32 dans le cours~10 min
Leçons du module (4/4)

Lignes vides et trim

Combinons les ancres + le drapeau m pour deux usages extrêmement utiles : faire correspondre des lignes vides et rogner (trim) les espaces au début/fin de chaque ligne.

Lignes vides

Une ligne vide est une position où ^ et $ coïncident : zéro caractère entre le début et la fin de la ligne.

Code
Pattern: ^$
Flag:    gm
Sample:  uno\n\ndue\n\n\ntre

La correspondance est de largeur nulle : le surligneur affichera un marqueur entre les deux \n. Pour faire correspondre également les lignes "vides avec des espaces", utilisez ^\s*$.

Rogner une ligne

Pour supprimer les espaces au début ou à la fin d'une ligne, combinez une ancre + la classe \s + un quantificateur :

Code
^\s+    correspond aux espaces au début d'une ligne (peut ensuite être remplacé par la chaîne vide, module 7)
\s+$    correspond aux espaces à la fin d'une ligne

Avec les drapeaux gm, vous collectez tous les espaces de marge de chaque ligne.

Identifier les lignes vides et les espaces de fin de ligne

Une ligne purement vide correspond à ^$ (avec le drapeau m). Cependant, de nombreuses lignes apparemment vides contiennent des espaces invisibles ou des tabulations. Le motif ^\s*$ intercepte également ces lignes, facilitant grandement le nettoyage des données.

À vous de jouer

Exercice#regex.m3.l4.e1
Tentatives : 0Chargement…

Trouvez chaque ligne vide de l'échantillon (zéro caractère entre deux sauts de ligne). Utilisez `^$` avec les drapeaux `gm`.

Chargement de l'éditeur…
Afficher l'indice

Une ligne vide est une position où ^ et $ coïncident. Le drapeau m est obligatoire.

Solution disponible après 3 tentatives

Exercice de révision

Exercice#regex.m3.l4.e2
Tentatives : 0Chargement…

Trouvez les espaces à la fin de chaque ligne (les caractères d'espacement qui précèdent le saut de ligne). Utilisez `\s+$` avec les drapeaux `gm`.

Chargement de l'éditeur…
Afficher l'indice

\s+ correspond à un ou plusieurs caractères d'espacement (y compris la tabulation). Avec gm, vous vous ancrez à la fin de chaque ligne.

Solution disponible après 3 tentatives

Défi supplémentaire

Exercice#regex.m3.l4.e3
Tentatives : 0Chargement…

Trouvez toutes les lignes qui commencent par le caractère `#` (lignes de commentaires entières, en ignorant les commentaires en ligne).

Chargement de l'éditeur…
Afficher l'indice

Utilisez ^ au début du motif pour indiquer que le caractère de commentaire # doit commencer la ligne.

Solution disponible après 3 tentatives