Motif Regex
JSPCRE
//
Résultat
Aucune correspondanceClasses de caractères
| Syntaxe | Signification | JS | PCRE | Python | Java |
|---|---|---|---|---|---|
| \d | Chiffre [0-9] | ✅ | ✅ | ✅ | ✅ |
| \D | Non-chiffre [^0-9] | ✅ | ✅ | ✅ | ✅ |
| \w | Caractère de mot [a-zA-Z0-9_] | ✅ | ✅ | ✅ | ✅ |
| \W | Caractère non-mot | ✅ | ✅ | ✅ | ✅ |
| \s | Espace | ✅ | ✅ | ✅ | ✅ |
| \S | Non-espace | ✅ | ✅ | ✅ | ✅ |
| . | Tout caractère (sauf saut de ligne) | ✅ | ✅ | ✅ | ✅ |
| [abc] | Classe de caractères (a/b/c) | ✅ | ✅ | ✅ | ✅ |
| [^abc] | Classe négativée (non a/b/c) | ✅ | ✅ | ✅ | ✅ |
| [[:alpha:]] | Classe POSIX alpha | ❌ | ✅ | ✅ | ❌ |
| [[:digit:]] | Classe POSIX chiffre | ❌ | ✅ | ✅ | ❌ |
| \p{L} | Lettre Unicode | ✅ | ✅ | ⚠️ | ✅ |
| \p{N} | Nombre Unicode | ✅ | ✅ | ⚠️ | ✅ |
| \X | Cluster graphémique étendu Unicode | ❌ | ✅ | ❌ | ❌ |
Quantificateurs
| Syntaxe | Signification | JS | PCRE | Python | Java |
|---|---|---|---|---|---|
| * | Zéro ou plus | ✅ | ✅ | ✅ | ✅ |
| + | Un ou plus | ✅ | ✅ | ✅ | ✅ |
| ? | Zéro ou un | ✅ | ✅ | ✅ | ✅ |
| {n} | Exactement n fois | ✅ | ✅ | ✅ | ✅ |
| {n,m} | Entre n et m fois | ✅ | ✅ | ✅ | ✅ |
| *? | Zéro ou plus (paresseux) | ✅ | ✅ | ✅ | ✅ |
| +? | Un ou plus (paresseux) | ✅ | ✅ | ✅ | ✅ |
| ?? | Zéro ou un (paresseux) | ✅ | ✅ | ✅ | ✅ |
| {n,m}? | Entre n et m (paresseux) | ✅ | ✅ | ✅ | ✅ |
| *+ | Zéro ou plus (possessif) | ❌ | ✅ | ❌ | ✅ |
| ++ | Un ou plus (possessif) | ❌ | ✅ | ❌ | ✅ |
| ?+ | Zéro ou un (possessif) | ❌ | ✅ | ❌ | ✅ |
Ancres
| Syntaxe | Signification | JS | PCRE | Python | Java |
|---|---|---|---|---|---|
| ^ | Début de chaîne (début de ligne en multiligne) | ✅ | ✅ | ✅ | ✅ |
| $ | Fin de chaîne (fin de ligne en multiligne) | ✅ | ✅ | ✅ | ✅ |
| \b | Limite de mot | ✅ | ✅ | ✅ | ✅ |
| \B | Non-limite de mot | ✅ | ✅ | ✅ | ✅ |
| \A | Début absolu de chaîne | ❌ | ✅ | ✅ | ✅ |
| \Z | Fin absolue (avant saut de ligne) | ❌ | ✅ | ✅ | ✅ |
| \z | Fin réelle (après saut de ligne) | ❌ | ✅ | ✅ | ❌ |
| \G | Fin de la correspondance précédente | ❌ | ✅ | ✅ | ✅ |
Groupes et références
| Syntaxe | Signification | JS | PCRE | Python | Java |
|---|---|---|---|---|---|
| (...) | Groupe capturant | ✅ | ✅ | ✅ | ✅ |
| (?:...) | Groupe non-capturant | ✅ | ✅ | ✅ | ✅ |
| (?<name>...) | Groupe nommé (style JS/Java) | ✅ | ⚠️ | ✅ | ✅ |
| (?P<name>...) | Groupe nommé (style Python) | ❌ | ✅ | ✅ | ❌ |
| \1 | Référence arrière au groupe N | ✅ | ✅ | ✅ | ✅ |
| $1 | Référence de remplacement au groupe N | ✅ | ❌ | ❌ | ✅ |
| \k<name> | Référence arrière nommée | ✅ | ✅ | ✅ | ✅ |
| (?|...) | Groupe de réinitialisation de branche | ❌ | ✅ | ❌ | ❌ |
| (?>...) | Groupe atomique (sans retour arrière) | ❌ | ✅ | ❌ | ✅ |
Lookaround
| Syntaxe | Signification | JS | PCRE | Python | Java |
|---|---|---|---|---|---|
| (?=...) | Lookahead positif | ✅ | ✅ | ✅ | ✅ |
| (?!...) | Lookahead négatif | ✅ | ✅ | ✅ | ✅ |
| (?<=...) | Lookbehind positif | ✅ | ✅ | ✅ | ✅ |
| (?<!...) | Lookbehind négatif | ✅ | ✅ | ✅ | ✅ |
Modificateurs
| Syntaxe | Signification | JS | PCRE | Python | Java |
|---|---|---|---|---|---|
| (?i) | Insensible à la casse | ✅ | ✅ | ✅ | ✅ |
| (?-i) | Sensible à la casse | ❌ | ✅ | ❌ | ⚠️ |
| (?m) | Multiligne (^/$ correspondent aux débuts/fin de ligne) | ✅ | ✅ | ✅ | ✅ |
| (?s) | Dotall (. correspond au saut de ligne) | ✅ | ✅ | ⚠️ | ✅ |
| (?x) | Étendu (ignore espaces et # commentaires) | ❌ | ✅ | ✅ | ✅ |
| (?i:...) | Insensible à la casse en ligne | ✅ | ✅ | ❌ | ✅ |
PCRE avancé
| Syntaxe | Signification | JS | PCRE | Python | Java |
|---|---|---|---|---|---|
| \K | Réinitialiser le début de correspondance | ❌ | ✅ | ❌ | ❌ |
| (*SKIP) | Ignorer la correspondance actuelle | ❌ | ✅ | ❌ | ❌ |
| (*FAIL) | Forcer l'échec | ❌ | ✅ | ❌ | ❌ |
| (?(cond)yes|no) | Expression conditionnelle | ❌ | ✅ | ❌ | ❌ |
| (?R) | Récursion du motif complet | ❌ | ✅ | ❌ | ❌ |
| (?1) | Appel de sous-routine au groupe 1 | ❌ | ✅ | ❌ | ❌ |