Atelier visuel de regex

Construisez, importez, expliquez, testez et partagez des regex visuellement.

Guide regex

Lookbehind Regex en JavaScript

Un lookbehind permet de vérifier ce qui se trouve avant la position actuelle sans l’inclure dans le match final.

Qu’est-ce qu’un lookbehind ?

Un lookbehind permet à une regex de vérifier ce qui se trouve immédiatement avant une correspondance sans inclure ces caractères dans le résultat.

Contrairement à un groupe classique, un lookbehind est une assertion de largeur nulle qui ne consomme aucun caractère.

Lookbehind positif et négatif

Un lookbehind positif valide uniquement si un motif spécifique est présent avant la position actuelle.

Un lookbehind négatif valide uniquement si ce motif est absent.

Pourquoi utiliser les lookbehind en JavaScript ?

Les lookbehind permettent souvent d’écrire des regex plus courtes, plus lisibles et plus faciles à maintenir.

Ils sont particulièrement utiles lorsqu’une valeur doit être précédée d’un préfixe, d’un symbole monétaire ou d’un mot-clé précis.

Cas d’utilisation fréquents

Les développeurs utilisent souvent les lookbehind pour extraire des prix, des identifiants, des unités de mesure, des extensions de fichiers ou des valeurs précédées d’un libellé connu.

Ils permettent de simplifier certaines extractions qui nécessiteraient autrement des traitements supplémentaires.

Compatibilité des navigateurs

Les moteurs JavaScript modernes prennent en charge les lookbehind, mais ce n’est pas le cas de certains anciens navigateurs ou environnements legacy.

Lorsque la compatibilité est critique, il est recommandé de vérifier le support ou d’utiliser une alternative.

Lookbehind ou groupes capturants ?

De nombreux problèmes peuvent être résolus avec des groupes capturants ou avec des lookbehind.

Les lookbehind permettent souvent d’obtenir un résultat plus propre puisque le préfixe ne fait pas partie de la correspondance retournée.

Quand éviter les lookbehind

Si la compatibilité maximale est une priorité, les groupes capturants restent souvent la solution la plus sûre.

Les lookbehind doivent être utilisés lorsqu’ils améliorent réellement la lisibilité et la maintenance de la regex.

Lookbehind positif

Un lookbehind positif réussit seulement si le texte précédent correspond à l’expression indiquée.

Par exemple, (?<=€)\d+ matche des chiffres précédés du symbole euro.

(?<=€)\d+
Test rapide

Lookbehind négatif

Un lookbehind négatif réussit seulement si le texte précédent ne correspond pas à l’expression.

Par exemple, (?<!-)\d+ peut aider à éviter les nombres précédés d’un signe moins.

(?<!-)\d+
Test rapide

Compatibilité

Les moteurs JavaScript modernes supportent les lookbehinds, mais les anciens navigateurs peuvent poser problème.

Si la compatibilité est critique, il faut parfois réécrire le pattern sans lookbehind.