Niveau :

Résumé : perlre
Suite à l'article précédent, qui posait les bases des expressions régulières, vous êtes probablement resté sur votre faim. Voici quelques astuces permettant d'élever le niveau et de faire des expressions mieux construites, plus rapides, plus courtes ...
Traitement des lignes
Fonctionnalités que tous les outils ne proposent pas, mais qui sont inclues dans le langage PCRE, /m et /s sont des modificateurs comme dans 's/toto/tata/m'.
Il faut bien distinguer les 2 qui portent assez facilement à confusion. De plus les 2 peuvent être utilisées en même temps.
- /m est utilisé pour changer la syntaxe de '^' et '$' qui habituellement matchent le début et la fin de la chaîne, avec /m ils matcheront le début et la fin de chaque ligne.
- /s est utilisé pour changer la syntaxe de '.' qui habituellement matche n'importe quel caractère sauf le changement de ligne, avec /s il matchera n'importe quel caractère y compris le changement de ligne
Ces modificateurs ne font la différence que lorsqu'on veut toucher aux caractères de retour à la ligne et plus généralement, lorsqu'on manipule des chaînes de caractère multilignes.
Gloutonnerie
L'algorithme de matching est glouton par défaut, ce qui veut dire que l'expression suivante :
/(.*):/
Marchera tous les éléments qui se trouvent avant le dernier ':' dans
root:x:0:0:root:/root:/bin/bash
On peut désactiver la gloutonnerie (greediness) en utilisant ? :
/(.*?):/
Qui du coup ne matchera plus que le premier élément.
... continuer la lecture ...















