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.

  1. Notions
  2. Questions
  3. Ranger et relier
  4. Les chiffres
  5. 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.