Ancres et limites

Repérez des positions, pas des caractères — fixez votre motif au début, à la fin ou aux jointures entre les mots.

Lire les règles : Ancres et limites dans le Guide →S'entraîner : Levez l'ancre →

Fait suite à Quantificateurs

Ce que vous allez apprendre

Début et fin Longueur exacte Limites de mot Non-limites

Étapes · 13

  1. 01Des chasseurs de largeur nulleBriefing
  2. 02Ancré au débutChasse
  3. 03Ancré à la finChasse
  4. 04Les deux bouts — correspondance exacteChasse
  5. 05Longueur exacteChasse
  6. 06Compter avec les accoladesChasse
  7. 07Limites de motChasse
  8. 08Mot entier uniquementChasse
  9. 09La non-limiteChasse
  10. 10Commence par une majusculeChasse
  11. 11Se termine par un chiffreChasse
  12. 12Golf : se termine par « ing »Chasse
  13. 13Positions maîtriséesBriefing

Ancres et limites de mot en regex

L'essentiel d'une expression régulière correspond à des caractères : une lettre, un chiffre, un point. Les ancres, elles, correspondent à une position. Elles se placent entre les caractères et n'en consomment aucun : elles disent au motif où il peut correspondre, pas à quoi.

Les deux ancres principales sont ^ pour le début du texte et $ pour la fin. Placez ^ devant, et la correspondance doit commencer au premier caractère. Placez $ à la fin, et elle doit se terminer au dernier. Avec les deux, le motif doit couvrir tout le texte : c'est ainsi qu'on vérifie qu'une saisie est exactement un code, un nombre ou une date, et rien d'autre.

Une limite de mot, \b, est la jointure entre un caractère de mot (lettre, chiffre ou tiret bas) et tout le reste, y compris le bord du texte. Elle permet de trouver un mot entier sans l'attraper à l'intérieur de mots plus longs. Son contraire, \B, correspond partout où \b ne correspond pas, en général à l'intérieur d'un mot. Dans une chasse, les ancres sont souvent le moyen le plus court d'épargner les mots qui contiennent les bonnes lettres au mauvais endroit.

Exemples

  1. /^re/

    Attrapés

    • redo
    • remix
    • return

    Épargnés

    • fire
    • pure
    • tree

    L'accent circonflexe attache re aux deux premières lettres : un mot qui le contient ailleurs ou qui finit par lui est épargné.

  2. /^v\d+$/

    Attrapés

    • v1
    • v12
    • v2026

    Épargnés

    • v1.2
    • xv1
    • v

    Avec les deux ancres, tout le texte doit être un v suivi de chiffres : un point, une lettre de plus devant ou un v tout seul font échouer la correspondance.

  3. /\bpen\b/

    Attrapés

    • pen
    • a pen
    • pen pal

    Épargnés

    • open
    • pencil
    • happen

    Des limites des deux côtés trouvent pen comme mot à part entière et l'ignorent quand d'autres lettres le touchent.

  4. /\Bair\B/

    Attrapés

    • chairs
    • repairs
    • fairy

    Épargnés

    • air
    • airy
    • chair

    \B des deux côtés exige des caractères de mot avant et après : air au début ou à la fin d'un mot est épargné.

Erreurs courantes

  • N'ancrer qu'un seul bout. ^\d+ correspond encore à 12abc, car rien n'arrête la correspondance avant les lettres ; ajoutez $ quand tout le texte doit convenir.
  • Croire que \b connaît tous les alphabets. En JavaScript, seuls A-Z, a-z, 0-9 et _ sont des caractères de mot : \bcaf\b trouve donc une correspondance dans café, et le tiret de co-op compte comme une limite.
  • Perdre la barre oblique inverse dans une chaîne. Dans une chaîne JavaScript, "\b" est un caractère de retour arrière : construisez le motif avec new RegExp("\\bpen\\b") ou écrivez le littéral /\bpen\b/.

Lire les règles : Ancres et limites dans le Guide →S'entraîner : Levez l'ancre →

À lire aussi : Les ancres en regex : ^, $ et le mode multiligne expliqués →