Vérifiez les correspondances et remplacements de votre motif. L’aide IA facultative transmet description, motif et indicateurs à DeepSeek après confirmation.
Décrivez la règle de correspondance ou inspectez le modèle actuel. Le texte de votre testeur reste local.
—
Le testeur exécute un modèle sur un texte d'exemple avec le même moteur que votre navigateur : ce qui correspond ici correspondra aussi dans votre application. Vous voyez côte à côte les options actives, chaque correspondance avec sa position, les groupes de capture et un aperçu du remplacement.
Les modèles sont en JavaScript (ECMAScript), pas en PCRE ni en Python. Les dialectes se recouvrent largement, mais pas complètement, et c'est la première raison pour laquelle un modèle qui fonctionne ailleurs échoue ici. Les modèles prêts à l'emploi pour e-mail, URL, IPv4, UUID, date, heure, couleur hexadécimale et nombres sont à un clic.
C'est ECMAScript. Les groupes nommés (?<nom>...), les assertions lookbehind (?<=...) et (?<!...) et les classes Unicode comme \p{Letter} avec l'option u fonctionnent dans les navigateurs actuels. Les quantificateurs possessifs, les groupes atomiques, la récursion, les ancres \A et \Z et les modificateurs en ligne comme (?i) n'existent pas dans ce langage.
Ces différences cassent les modèles écrits pour Python, PHP ou Java : (?P<nom>...) s'écrit (?<nom>...), \Z se remplace par $ et les modificateurs quittent le modèle pour les cases à cocher. Ces trois adaptations couvrent la majorité des cas réels.
La recherche globale renvoie toutes les correspondances au lieu de s'arrêter à la première, et c'est elle qui fait porter un remplacement sur tout le texte. Ignorer la casse fait correspondre les lettres quelle que soit leur forme. Multiligne permet à ^ et $ de correspondre aux sauts de ligne internes, pas seulement au début et à la fin de la chaîne.
Le point inclut les sauts de ligne autorise un point à consommer le saut, ce qui est nécessaire pour cibler un bloc entier de texte. Le mode Unicode passe à une sémantique de points de code : un point correspond à l'emoji entier et non à sa moitié, et les classes \p{...} deviennent disponibles.
Les groupes de capture sont numérotés dans l'ordre d'ouverture des parenthèses ; un groupe non capturant (?:...) ne prend pas de numéro, ce qui aide lorsqu'on veut seulement regrouper une alternative. Les groupes nommés s'utilisent dans le remplacement sous la forme $<nom>, bien plus lisible que $3 quand le modèle grandit.
Dans le texte de remplacement, $1 à $99 insèrent les groupes capturés, $& insère la correspondance entière et $$ insère un dollar littéral. Attention aux quantificateurs imbriqués comme (a+)+ sur de longues entrées presque correspondantes : ils explorent un nombre exponentiel de chemins et peuvent figer la page.
Non. Les correspondances et les remplacements sont calculés dans votre navigateur par le moteur JavaScript, et les boutons de l'outil ne déclenchent aucune requête réseau. Seule exception, le panneau IA facultatif : après avoir coché la case de consentement, il envoie à DeepSeek uniquement votre description, le modèle courant et ses options, jamais le texte d'exemple.
Parce que le dialecte diffère. Python écrit les groupes nommés (?P<nom>...) et connaît \Z ; Java et PCRE ont les quantificateurs possessifs et les groupes atomiques ; PHP accepte les modificateurs comme (?i). ECMAScript n'en dispose pas : le modèle doit être traduit, pas copié.
Parce que la recherche globale est désactivée. Sans cette option, le remplacement s'arrête à la première correspondance, comme le fait String.prototype.replace avec un modèle non global ; cochez Recherche globale pour tout remplacer.
Recherche globale : toutes les correspondances et tous les remplacements. Ignorer la casse : les lettres correspondent quelle que soit leur forme. Multiligne : ^ et $ correspondent aussi aux sauts de ligne internes. Le point inclut les sauts de ligne : un point peut consommer un saut. Unicode : sémantique de points de code, un emoji compte pour un caractère et les classes \p{...} sont disponibles.
La position est l'index de début de la correspondance, compté à partir de 0. Les groupes de capture apparaissent numérotés ($1, $2...) et entre guillemets, et un groupe nommé apparaît aussi avec son nom. Si un groupe facultatif ne participe pas, il reste vide — exactement ce qu'il faut pour déboguer.
$1 à $99 insèrent le groupe correspondant, $& insère toute la correspondance, $<nom> insère un groupe nommé et $$ insère un dollar littéral. Comme en JavaScript, sans l'option Globale, seule la première correspondance est remplacée.