Skip to content

Tokens regex expliqués

Tous les tokens regex essentiels : ancres, classes de caractères, quantificateurs, groupes et flags. Ce que chacun signifie, avec une correspondance concrète. Le compagnon de référence rapide de l'outil Regex Tester.

Les tokens regex se composent : empilez une ancre, une classe de caractères et un quantificateur pour construire un motif. ^ s'ancre au début, \d correspond à un chiffre, et {2,4} fixe le nombre de répétitions. Combinez-les en ^\d{2,4}$ pour reconnaître une chaîne entière de deux à quatre chiffres. Lisez un motif de gauche à droite, un token à la fois. L'outil compagnon Regex Tester vous permet d'essayer ces tokens en direct sur votre propre texte.

Tableau de référence · 55 entréesOpen the regex-tester tool →
55 of 55 rows
Ancres
Correspond à la position au début de la chaîne, ou au début d'une ligne avec le flag m.^He → He
Correspond à la position à la fin de la chaîne, ou à la fin d'une ligne avec le flag m.lo$ → lo
Correspond à une frontière de mot, la position entre un caractère de mot et un caractère qui n'en est pas un.\bcat\b → cat
Correspond à une non-frontière de mot, la position entre deux caractères de mot ou deux caractères qui n'en sont pas.\Bar → ar
Classes de caractères
Correspond à n'importe quel caractère unique sauf un saut de ligne, sauf si le flag s est actif.a.c → abc
Correspond à n'importe quel chiffre, de 0 à 9.\d → 7
Correspond à n'importe quel caractère qui n'est pas un chiffre.\D → a
Correspond à n'importe quel caractère de mot : une lettre, un chiffre ou un underscore.\w → _
Correspond à n'importe quel caractère qui n'est pas un caractère de mot.\W → !
Correspond à n'importe quel caractère d'espacement : un espace, une tabulation ou un saut de ligne.a\sb → a b
Correspond à n'importe quel caractère qui n'est pas un caractère d'espacement.\S → a
Correspond à n'importe lequel des caractères listés entre les crochets.[aeiou] → e
Correspond à n'importe quel caractère absent de ceux listés entre les crochets.[^aeiou] → s
Correspond à n'importe quel caractère unique dans l'intervalle donné, de a à z.[a-z] → m
Correspond à n'importe quel caractère unique, y compris un saut de ligne — l'idiome courant pour un point qui traverse les lignes.[\s\S] → \n
Correspond à n'importe quelle lettre unicode de n'importe quel script, quand le flag u est actif.\p{L} → é
Correspond à n'importe quel caractère numérique unicode de n'importe quel script, quand le flag u est actif.\p{N} → ٣
Échappement : correspond à un unique caractère de saut de ligne.\n → line feed
Échappement : correspond à un unique caractère de tabulation.\t → tab
Échappement : correspond à un unique caractère de retour chariot.\r → carriage return
Correspond au caractère unique dont le code hexadécimal à deux chiffres est donné.\x41 → A
Correspond au caractère unique du point de code hexadécimal donné, quand le flag u est actif.\u{1F600} → 😀
Intersection de classes, avec le flag v : correspond aux caractères présents dans les deux ensembles à la fois.[[a-z]&&[^aeiou]] → t
Quantificateurs
Correspond au token précédent zéro fois ou plus.ab* → abbb
Correspond au token précédent une fois ou plus.a+ → aaa
Correspond au token précédent zéro ou une fois, le rendant optionnel.colou?r → color
Correspond au token précédent exactement n fois.a{3} → aaa
Correspond au token précédent n fois ou plus.a{2,} → aaaa
Correspond au token précédent entre n et m fois, bornes incluses.a{2,4} → aaa
Quantificateur paresseux : correspond au token précédent zéro fois ou plus, en prenant le moins possible.<.*?> on <a><b> → <a>
Quantificateur paresseux : correspond au token précédent une fois ou plus, en prenant le moins possible.\d+? on 123 → 1
Quantificateur paresseux : correspond au token précédent zéro ou une fois, en privilégiant zéro.ab?? on ab → a
Quantificateur paresseux : correspond au token précédent entre n et m fois, en prenant le moins possible.a{1,3}? on aaa → a
Quantificateur possessif (PCRE) : correspond au token précédent zéro fois ou plus et le garde, sans jamais revenir en arrière pour tenter d'autres découpages..*+a on aaa → no match
Groupes et alternance
Un groupe capturant : correspond à la séquence et la mémorise pour les backreferences.(ab)+ → abab
Un groupe non capturant : correspond à la séquence sans la mémoriser.(?:ab)+ → abab
Lookahead positif : correspond si les caractères suivants sont abc, sans les consommer.a(?=b) → a
Lookahead négatif : correspond si les caractères suivants ne sont pas abc, sans les consommer.a(?!b) → a
Backreference : correspond au texte exact capturé par le groupe 1.(a)\1 → aa
Alternance : correspond soit à l'expression avant la barre, soit à celle après.cat|dog → dog
Un groupe capturant nommé : correspond à la séquence et la mémorise sous le nom donné.(?<year>\d{4}) → year = 2026
Lookbehind positif : correspond si les caractères précédents sont abc, sans les consommer.(?<=a)b → b
Lookbehind négatif : correspond si les caractères précédents ne sont pas abc, sans les consommer.(?<!a)b → b
Backreference nommée : correspond au texte exact capturé par le groupe nommé.(?<w>\w+) \k<w> → the the
Groupe atomique (PCRE) : correspond à la séquence une fois et ne revient jamais dedans.(?>a+)ab on aab → no match
Réinitialisation de branche (PCRE) : une alternance où chaque branche réutilise les mêmes numéros de groupe.(?|(cat)|(dog)) → \1 = dog
Flags
Flag global : trouve chaque correspondance dans la chaîne, pas seulement la première./a/g on aaa → a, a, a
Flag insensible à la casse : ignore la casse des lettres lors de la correspondance./Hi/i → hi
Flag multiligne : traite ^ et $ comme le début et la fin de chaque ligne./^a/m matches at the start of each line
Flag dotall : laisse aussi le point correspondre à un saut de ligne./a.b/s → a\nb
Flag unicode : traite le motif et son entrée comme des points de code unicode./\u{1F600}/u → 😀
Flag sticky : ne correspond qu'à la position exacte définie par lastIndex./ab/y matches only at lastIndex
Flag indices : ajoute la position de début et de fin de chaque correspondance au résultat./b/d on abc → indices [1, 2]
Flag unicode sets : un u plus strict qui permet aussi les opérations d'ensembles dans une classe./[a-z&&[^aeiou]]/v → t
Flag étendu (PCRE) : ignore les espaces non échappés et les commentaires # dans le motif./a b/x → ab