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
Étapes · 13
- 01Des chasseurs de largeur nulleBriefing
- 02Ancré au débutChasse
- 03Ancré à la finChasse
- 04Les deux bouts — correspondance exacteChasse
- 05Longueur exacteChasse
- 06Compter avec les accoladesChasse
- 07Limites de motChasse
- 08Mot entier uniquementChasse
- 09La non-limiteChasse
- 10Commence par une majusculeChasse
- 11Se termine par un chiffreChasse
- 12Golf : se termine par « ing »Chasse
- 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
Attrapés
- redo
- remix
- return
Épargnés
- fire
- pure
- tree
L'accent circonflexe attache
reaux deux premières lettres : un mot qui le contient ailleurs ou qui finit par lui est épargné.Attrapés
- v1
- v12
- v2026
Épargnés
- v1.2
- xv1
- v
Avec les deux ancres, tout le texte doit être un
vsuivi de chiffres : un point, une lettre de plus devant ou unvtout seul font échouer la correspondance.Attrapés
- pen
- a pen
- pen pal
Épargnés
- open
- pencil
- happen
Des limites des deux côtés trouvent
pencomme mot à part entière et l'ignorent quand d'autres lettres le touchent.Attrapés
- chairs
- repairs
- fairy
Épargnés
- air
- airy
- chair
\Bdes deux côtés exige des caractères de mot avant et après :airau 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
\bconnaît tous les alphabets. En JavaScript, seuls A-Z, a-z, 0-9 et_sont des caractères de mot :\bcaf\btrouve donc une correspondance danscafé, et le tiret deco-opcompte 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 avecnew 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 →