Les expressions régulières en pratique
La syntaxe étendue des outils comme grep -E : point, classes de caractères, ancres, quantificateurs, groupes, alternative, échappement et gourmandise, avec des motifs essayés sur de vraies lignes.
- 25 cartes
- 5 thèmes
- Gratuit
Le programme, thème par thème
Le poids de chaque thème suit celui que lui donne l'examen.
- Notions
- Questions
- Ranger et relier
- Les chiffres
- Mises en situation
Quelques cartes du deck
Classe de caractères : de quoi s'agit-il ?
Voir la réponse
Un motif entre crochets qui représente un seul caractère parmi ceux listés : [abc] ou [0-9] ; avec ^ juste après le crochet ouvrant, parmi tous les autres.
[0-9] vaut un chiffre, [^0-9] un caractère qui n'est pas un chiffre. Le point seul remplace n'importe quel caractère.
Que capture le motif <.*> sur la ligne suivante ?
```text
<b>un</b> et <i>deux</i>`<b>un</b> et <i>deux</i><b><b>un</b><i>deux</i>
Voir la réponse
<b>un</b> et <i>deux</i>Le point-étoile est gourmand : il avale tout jusqu'à la fin de la ligne puis recule jusqu'au dernier >. Python (re.search) rend bien toute la ligne.
Pour que le motif décrive la ligne entière, on le place entre les ancres … au début et … à la fin.
Voir la réponse
Pour que le motif décrive la ligne entière, on le place entre les ancres ^ au début et $ à la fin.
^ et $ valident la position, pas un caractère. Un champ de formulaire se valide presque toujours avec les deux.
Ancre : de quoi s'agit-il ?
Voir la réponse
Un symbole qui ne consomme aucun caractère mais impose une position : ^ pour le début de la ligne, $ pour sa fin.
Sans ancres, un motif peut correspondre à un morceau de la ligne : [0-9]{5} trouve cinq chiffres dans 750115. Avec ^ et $, la ligne entière doit correspondre.