Remplaceur de Mots
Recherchez et remplacez tout mot, phrase ou motif dans un texte. Support regex, sensible à la casse, mot entier et remplacement par lots. Dans le navigateur.
À Propos de l'Outil Remplaceur de Mots
Remplaceur de Mots est un utilitaire de rechercher-remplacer basé sur navigateur avec quatre modes de correspondance — sous-chaîne littérale, sous-chaîne sensible à la casse, mot entier (conscient des frontières de mot) et expression régulière JavaScript complète (saveur ECMAScript avec drapeaux /g, /i, /m, /s). Le mode littéral utilise String.prototype.replaceAll() pour la correspondance brute de caractères. Le mode mot entier enveloppe votre terme avec des ancres de frontière \b, donc 'chat' ne correspondra pas à l'intérieur de 'chaton' ou 'achat'. Le mode regex passe votre motif directement à un constructeur RegExp — vous permettant d'utiliser des groupes de capture, lookahead/lookbehind, classes de caractères, quantificateurs et rétro-références ($1, $2) dans la chaîne de remplacement. Le mode lots lit une paire rechercher→remplacer par ligne (séparée par la flèche ASCII '→' ou '->' clavier-friendly) et les applique dans l'ordre, de haut en bas — signifiant que les paires suivantes voient la sortie des précédentes, ce qui est utile pour les transformations en chaîne mais aussi un piège si un remplacement ultérieur re-correspond à la sortie précédente. Flux typiques : rechercher-et-remplacer des noms de variables dans un extrait de code (mode mot entier), corriger les fautes dans un long document, masquer du PII avec regex comme \b\d{3}-\d{2}-\d{4}\b pour les SSN US, normaliser les formats de données (JJ/MM/AAAA en AAAA-MM-JJ via regex), et exécuter des échanges de glossaire de traduction avec le mode lots.
Quelle est la différence entre 'Mot Entier Uniquement' et un regex avec \b ?
Fonctionnellement identiques. Le mode mot entier enveloppe juste automatiquement votre terme littéral dans \b...\b et échappe d'abord les caractères spéciaux regex, donc '$5' recherche littéralement le jeton dollar-5 sans que vous ayez à échapper le signe dollar. Si vous voulez la correspondance de frontière de mot plus les fonctionnalités regex (alternance, quantificateurs), activez Utiliser Regex et écrivez le \b vous-même : '\b(chat|chien)\b' correspond au mot autonome chat ou chien mais pas 'chaton' ou 'chienne'.
Les drapeaux regex JavaScript /g, /i, /m, /s sont-ils supportés ?
Oui implicitement. L'outil utilise toujours /g (global) donc toutes les correspondances sont remplacées en une fois (ou première uniquement si vous choisissez ce mode, qui désactive le drapeau). L'option sensible à la casse bascule /i. Le drapeau /m (ancres ^ et $ multilignes par ligne) et /s (le point correspond au saut de ligne) ne sont pas directement exposés — mais si vous écrivez votre motif inline comme 'foo$' il ne correspondra qu'en fin de chaîne par défaut. Pour ancrer par ligne, utilisez le drapeau inline (?m) au début : '(?m)foo$' correspond à 'foo' à la fin de toute ligne. Pour dotall, utilisez '[\s\S]' comme alternative portable à /s.
Puis-je utiliser des groupes de capture et rétro-références ($1, $2) dans le remplacement ?
Oui — Remplaceur de Mots utilise le String.replace() natif JavaScript donc tous les motifs de remplacement standards fonctionnent : $& (correspondance entière), $` (texte avant), $' (texte après), $1-$99 (groupes numérotés), $<nom> (groupes nommés via la syntaxe (?<nom>...)). Exemple : recherchez '(\w+)@(\w+\.\w+)' et remplacez par '$1 chez $2' convertit '[email protected]' en 'alice chez exemple.com'. Utile pour permuter les formats de date — recherchez '(\d{2})/(\d{2})/(\d{4})' remplacez '$3-$2-$1' convertit '24/12/2025' en '2025-12-24' (ISO 8601).

Comment fonctionne l'ordre du Remplacement par Lots — une paire ultérieure peut-elle re-correspondre à la sortie précédente ?
Oui, et c'est un piège courant. Chaque paire s'exécute en séquence sur l'état actuel du texte. Si la paire 1 change 'chat' en 'chien' et la paire 2 change 'chien' en 'cheval', vous finissez avec 'cheval' partout — pas ce que vous vouliez. Contournement : utilisez un marqueur pour la première passe. Paire 1 : 'chat' → '__TMP1__'. Paire 2 : 'chien' → 'cheval'. Paire 3 : '__TMP1__' → 'chien'. Cela garantit l'indépendance. Le mode lots est ligne par ligne au format 'rechercher → remplacer' (utilisez → ou -> comme séparateur) ; les lignes vides ou mal formées sont ignorées.
Pourquoi ma recherche regex ne trouve-t-elle pas ce que j'attends ?
Trois causes communes. Premièrement, caractères spéciaux non échappés : point (.), étoile (*), plus (+), point d'interrogation (?), parenthèses, crochets, accolades, barre oblique inverse, accent circonflexe, dollar, pipe — doivent être échappés avec une barre oblique inverse pour correspondre littéralement. Deuxièmement, quantificateurs gourmands vs paresseux : '<.*>' correspond du premier '<' au dernier '>' sur la ligne ; utilisez '<.*?>' pour la correspondance paresseuse. Troisièmement, sensibilité à la casse — si votre texte est 'BONJOUR' mais vous recherchez 'bonjour' sans activer insensible à la casse, pas de correspondance. Testez d'abord sur un petit échantillon ; le compteur Correspondances Trouvées montre zéro quand rien ne correspond.
Y a-t-il un bouton annuler si le remplacement était mauvais ?
Pas d'annulation intégrée — mais vous pouvez prévenir les désastres en copiant d'abord l'original dans un second onglet (presse-papiers) ou en exécutant le mode Remplacer la Première Uniquement comme test avant de vous engager dans Remplacer Toutes. Le compteur 'Total de Remplacements' affiché après chaque exécution vous dit combien de substitutions ont eu lieu, donc un nombre inattendument élevé (disons vous attendiez 5 mais en avez obtenu 200) est un signal d'alarme pour inspecter la sortie avant de la recoller en production. Rafraîchir l'onglet perd tout — copiez le résultat avant de naviguer.
Mon texte quitte-t-il le navigateur ?
Non. Toutes les recherches/remplacements s'exécutent en JavaScript du navigateur via String.replace() et RegExp directement sur la valeur du textarea. Pas de fetch() vers un serveur, pas d'analytique avec contenu, pas d'écriture localStorage. L'onglet Réseau de DevTools confirme zéro requête sortante en cliquant sur Remplacer. Sûr pour le contenu sensible comme code source interne, PII clients, documents juridiques ou clés de chiffrement — rien n'est téléversé ou journalisé.
