Atelier visuel de regex

Construisez, testez, expliquez et maîtrisez les expressions régulières grâce à des outils visuels, des guides, des exemples et une bibliothèque en constante évolution.

Guide regex

Lookarounds regex

Les lookarounds sont des assertions de largeur nulle qui vérifient la présence ou l’absence d’un motif avant ou après la position courante, sans consommer de caractères. Ils permettent d’écrire des expressions régulières très précises tout en conservant des patterns lisibles.

Pourquoi les lookarounds sont importants

Les lookarounds permettent à une expression régulière de vérifier le contexte autour d’une correspondance sans inclure ce contexte dans le résultat final.

Ils rendent possibles des validations et des filtrages complexes tout en conservant des correspondances propres.

Même s’ils peuvent sembler impressionnants au premier abord, ils permettent souvent d’écrire des regex plus simples et plus faciles à maintenir.

Les lookarounds ne consomment jamais de caractères

Contrairement aux classes de caractères ou aux groupes, les lookarounds ne consomment jamais de caractères.

Ils vérifient simplement qu’une condition est vraie avant ou après la position courante.

Comprendre cette notion d’assertion de largeur nulle est la clé pour maîtriser les lookarounds.

Lookahead ou lookbehind ?

Les lookaheads examinent ce qui suit la position courante, tandis que les lookbehinds examinent ce qui la précède.

Dans les deux cas, la condition est vérifiée sans modifier la partie effectivement matchée.

Le choix dépend simplement de l’endroit où se trouve l’information que vous souhaitez contrôler.

Les lookarounds simplifient les validations

Les lookarounds sont souvent utilisés pour vérifier plusieurs contraintes indépendantes dans une seule expression régulière.

La validation des mots de passe est l’exemple le plus connu : présence d’une majuscule, d’un chiffre et d’un caractère spécial sans avoir à les capturer.

Cette approche permet d’exprimer clairement les règles de validation tout en évitant des patterns redondants.

Les erreurs fréquentes avec les lookarounds

Une erreur fréquente consiste à penser que le contenu vérifié par un lookaround fera partie du résultat matché.

Une autre est d’oublier que certains moteurs regex imposent des limitations sur les lookbehinds ou sur leur longueur.

Lorsque vous utilisez des assertions avancées, il est indispensable de tester la regex dans le moteur réellement utilisé par votre application.

Les lookarounds dans les regex du quotidien

Les lookarounds sont utilisés dans la validation de mots de passe, l’extraction de montants, l’analyse de journaux, la coloration syntaxique et de nombreux traitements de texte.

Ils permettent d’exprimer des contraintes complexes sans rendre les regex beaucoup plus longues.

Une fois maîtrisés, ils remplacent souvent des constructions beaucoup plus compliquées.

Pour aller plus loin

📘 Guide recommandé

Groupes

Les lookarounds sont très souvent combinés avec des groupes afin de construire des règles de validation expressives et faciles à maintenir.

Lire le guide complet →
📘 Guide recommandé

Alternatives

Les alternatives permettent de tester plusieurs possibilités à l’intérieur d’un même lookaround sans multiplier les regex.

Lire le guide complet →
📘 Guide recommandé

Compatibilité regex

Le support des lookbehinds varie encore selon les moteurs regex. Vérifiez toujours la compatibilité avec votre environnement.

Lire le guide complet →

Lookahead positif

Un lookahead positif vérifie qu’un motif se trouve immédiatement après la position courante.

Le texte contrôlé doit être présent, mais il n’est pas inclus dans la correspondance finale.

\b\w+(?=:)
Test rapide

Lookahead négatif

Un lookahead négatif vérifie qu’un motif ne suit pas la position courante.

Il est souvent utilisé pour exclure certains suffixes, certaines extensions ou certains formats.

\b\w+\b(?!:)
Test rapide

Lookbehind positif

Un lookbehind positif vérifie ce qui se trouve immédiatement avant la position courante.

Le texte précédent doit être présent, mais il n’est pas inclus dans la correspondance finale.

(?<=€)\d+
Test rapide

Lookbehind négatif

Un lookbehind négatif vérifie qu’un motif ne précède pas immédiatement la position courante.

Il permet d’exclure les valeurs précédées par un préfixe ou un symbole particulier.

(?<!€)\b\d+\b
Test rapide

Plusieurs lookaheads

Plusieurs lookaheads peuvent être enchaînés afin de contrôler des conditions indépendantes.

Cette technique est souvent utilisée pour imposer une majuscule, un chiffre et un caractère spécial dans un mot de passe.

^(?=.*[A-Z])(?=.*\d)(?=.*[!@#$%^&*]).+$
Test rapide

Assertions de largeur nulle

Les lookarounds sont appelés assertions de largeur nulle, car ils vérifient une condition sans consommer de caractères.

Seule la partie située en dehors de l’assertion est incluse dans la correspondance finale.

chat(?=on)
Test rapide

Combiner lookahead et lookbehind

Un lookahead et un lookbehind peuvent encadrer la même correspondance.

Cela permet d’extraire une valeur uniquement lorsque son préfixe et son suffixe respectent les conditions attendues.

(?<=€)\d+(?= TTC)
Test rapide

Lookarounds avec groupes et alternatives

Des groupes et des alternatives peuvent être placés à l’intérieur d’un lookaround afin d’accepter plusieurs contextes.

Le texte environnant reste hors du match, tout en autorisant des conditions plus flexibles.

(?<=\b(?:M\.|Dr)\s)\w+
Test rapide