# Testeur regex PCRE2

Testez les motifs PCRE2 en ligne : toutes les syntaxes de groupes nommés ((?P), (?), (?'n')), quantificateurs possessifs, groupes atomiques, \\A \\z \\h — plus pcre2grep et l’API C.

> Page canonique: https://elysiatools.com/fr/tools/pcre-regex-tester

- **Catégorie:** Development

- **Mots-clés:** testeur regex pcre2, pcre en ligne, php preg, expression régulière, groupes atomiques

## Présentation

Un testeur pour la saveur PCRE2 (preg\_\* de PHP, pcre2grep, Delphi, R et bien d’autres). PCRE2 accepte toutes les syntaxes de groupes nommés — (?P…), (?…), (?'year'…) — avec rétro-références \\k, \\k{year}, \\g{year} et (?P=year) ; le testeur les accepte toutes, traduit vers le moteur ECMAScript et rapporte correspondances, groupes nommés et aperçu de remplacement. Les raccourcis absents de JavaScript sont développés : ancres absolues \\A et \\z, \\Z avant le newline final, \\h / \\H espace horizontal. Possessifs et groupes atomiques sont émulés par capture-dans-lookahead et bloquent réellement le backtracking ; \\d \\w \\s gardent la sémantique ASCII par défaut de PCRE2 (activez les classes Unicode pour émuler PCRE2\_UCP). Les constructions que ECMAScript ne peut pas exprimer — récursion ((?R), (?1)), conditionnelles ((?(1)…)), callouts (?C…), \\K, \\G, verbes de backtracking — sont détectées et rejetées avec explication. Le rapport produit aussi des lignes pcre2grep et une esquisse d’API C pcre2\_compile / pcre2\_match.

## Entrées

- **Motif** (text): (?\\d{4})-(?\\d{2})
- **Chaîne de test** (textarea): Paste the text to match against…
- **i — insensible à la casse** (checkbox)
- **m — multiligne** (checkbox)
- **s — dotall** (checkbox)
- **x — étendu** (checkbox)
- **U — non glouton** (checkbox)
- **g — balayage global** (checkbox)
- **Modèle de remplacement (facultatif)** (text): \\g / \\1
- **Classes de caractères Unicode (\d \w \s matchent Unicode)** (checkbox)

## Quand l'utiliser

- Pour valider des expressions régulières destinées aux fonctions preg_match ou preg_replace en PHP.
- Pour tester des motifs complexes utilisant des groupes atomiques, des quantificateurs possessifs ou des raccourcis comme \h et \A.
- Pour préparer des commandes shell avec pcre2grep ou intégrer des filtres PCRE2 via l'API C (pcre2_compile / pcre2_match).

## Fonctionnement

- Saisissez votre motif PCRE2 et collez la chaîne de texte à tester dans les champs dédiés.
- Configurez les modificateurs souhaités (insensible à la casse, multiligne, dotall, étendu, non glouton, balayage global ou classes Unicode).
- Renseignez éventuellement un modèle de remplacement pour prévisualiser la substitution textuelle.
- Consultez instantanément les correspondances trouvées, le détail des groupes de capture ainsi que les extraits de code pour pcre2grep et l'API C.

## Cas d'usage

- Extraction de champs structurés dans des fichiers de logs serveur au format texte.
- Nettoyage et normalisation de données textuelles via des motifs de substitution avancés.
- Débogage d'expressions régulières PHP avant mise en production dans une application web.

## Questions fréquentes

### Quelles syntaxes de groupes nommés sont supportées ?

Toutes les variantes PCRE2 sont acceptées, notamment (?P...), (?...) et (?'nom'...), ainsi que leurs rétro-références associées.

### Comment fonctionnent les groupes atomiques et quantificateurs possessifs ?

Ils sont traduits par capture dans des assertions avant (lookahead) afin de bloquer réellement le retour sur trace (backtracking).

### Quelle est la différence entre \s et l'option Classes Unicode ?

Par défaut, \s, \d et \w ciblent uniquement les caractères ASCII. Activer les classes Unicode émule l'option PCRE2_UCP pour couvrir les jeux étendus.

### Pourquoi certaines fonctionnalités comme (?R) ou \K sont-elles refusées ?

Les constructions impossibles à convertir fidèlement vers le moteur d'exécution (récursion, callouts, \K, verbes de contrôle) sont explicitement signalées et rejetées.

### Puis-je tester des remplacements de texte ?

Oui, saisissez une chaîne dans le champ Modèle de remplacement (ex. \\g ou \\1) pour afficher la prévisualisation du résultat.

## Outils associés

- [Testeur regex Java](https://elysiatools.com/fr/tools/java-regex-tester): Testez en ligne les motifs java.util.regex : groupes nommés (?…), quantificateurs possessifs et groupes atomiques, options Pattern et code Java prêt.
- [Aide-mémoire Regex](https://elysiatools.com/fr/tools/regex-cheat-sheet): Aide-mémoire consultable et localisé pour la syntaxe des expressions régulières — classes de caractères, ancres, quantificateurs, groupes et références, assertions, séquences d’échappement et indicateurs, avec un testeur rapide intégré
- [Débogueur Regex](https://elysiatools.com/fr/tools/regex-debugger): Parcourez comment une expression régulière correspond à une chaîne position par position : visualisez les tentatives de correspondance, les succès partiels, les retours en arrière et les captures — un outil pour comprendre le comportement des regex, pas seulement le résultat final
- [Testeur Regex](https://elysiatools.com/fr/tools/regex-tester): Teste les expressions régulières sur du texte
- [Benchmark Regex](https://elysiatools.com/fr/tools/regex-benchmark): Comparez les performances de différents modèles regex, identifiez les goulots d'étranglement et détectez les cas dégénérés
- [Testeur regex C# (.NET)](https://elysiatools.com/fr/tools/csharp-regex-tester): Testez en ligne les expressions régulières .NET/C# : groupes nommés ((?…)), options IgnoreCase/Multiline/Singleline, surlignage, tableau des groupes et code C# prêt à coller.
- [Testeur regex Python (module re)](https://elysiatools.com/fr/tools/python-regex-tester): Testez en ligne les motifs du module re de Python : groupes nommés (?P…), rétro-références (?P=name), VERBOSE, comportement findall et modèles \\g — plus du code Python prêt.
- [Visualiseur de Diagramme Ferroviaire de Regex](https://elysiatools.com/fr/tools/regex-railroad-diagram-visualizer): Génère un diagramme ferroviaire SVG d’une expression régulière montrant les littéraux, groupes, alternatives et répétitions, avec numérotation des groupes de capture et explication des drapeaux

## Exemples

- [Exemples de Remplacement Regex](https://elysiatools.com/fr/samples/regex-replace): Collection de modèles de remplacement regex courants et utiles pour la transformation de texte et le nettoyage de données
- [Modèles d'Expressions Régulières Courants](https://elysiatools.com/fr/samples/regex-samples): Modèles d'expressions régulières couramment utilisés pour la validation et la correspondance
- [Alternatives de Modèles Regex](https://elysiatools.com/fr/samples/regex-alternatives): Plusieurs façons d'écrire le même modèle regex avec différents compromis
- [Groupes de Capture Nommés Regex](https://elysiatools.com/fr/samples/regex-named-groups): Collection de modèles regex utilisant des groupes de capture nommés pour extraire des données structurées du texte. Les groupes nommés rendent les modèles plus lisibles et maintenables en assignant des noms significatifs aux parties capturées.
