Rechercher et Remplacer
Outil avancé de recherche et remplacement avec support regex, recherche sensible à la casse, correspondance de mots entiers, option de préservation de la casse et remplacement par lots. Recherchez et remplacez du texte efficacement.
À Propos de l'Outil Rechercher et Remplacer
L'outil Rechercher et Remplacer est un puissant utilitaire de recherche et de remplacement de texte avec des fonctionnalités avancées incluant le support des expressions régulières, la recherche sensible à la casse et insensible à la casse, la correspondance de mots entiers, l'option de préservation de la casse pour un remplacement intelligent, et les modes de remplacement par lots (tout remplacer) et pas à pas (remplacer suivant). L'outil surligne les correspondances dans la sortie pour une vérification facile et fournit des statistiques en temps réel incluant le nombre de correspondances, les remplacements effectués et la position actuelle. Parfait pour l'édition de texte, le nettoyage de données, le refactoring de code, la migration de contenu et les tâches de traitement de texte par lots.
Comment utiliser regex dans rechercher-et-remplacer et quels sont les motifs les plus utiles ?
Activez l'option « Utiliser les expressions régulières » et votre recherche devient un motif, pas une chaîne littérale. Motifs essentiels : \d+ correspond à toute suite de chiffres, \s+ à des espaces, \w+ à des caractères de mot, .+ à n'importe quoi (greedy), [A-Za-zÀÂÄÉÈÊËÎÏÔÖÙÛÜàâäéèêëîïôöùûüç]+ uniquement des lettres y compris accents français, ^foo correspond à « foo » en début de ligne, foo$ en fin. Les groupes de capture avec parenthèses permettent de réutiliser le match : (\w+)@(\w+) capture utilisateur et domaine, et $1 / $2 dans le champ de remplacement les référence. Les rétro-références permettent l'échange : (\w+) (\w+) remplacé par $2 $1 échange les mots adjacents. Testez toujours sur un petit échantillon d'abord — les bugs regex sont silencieux et peuvent corrompre des documents entiers.
Quelle est la différence entre les quantificateurs regex gloutons, paresseux et possessifs ?
Les quantificateurs gloutons (*, +, ?, {n,m}) correspondent au maximum possible, puis reculent jusqu'à ce que le reste du motif convienne. Donc <.+> sur « <a><b> » correspond à tout « <a><b> » car .+ consomme gloutonnement tout entre le premier < et le dernier >. Les quantificateurs paresseux (*?, +?, ??, {n,m}?) correspondent au minimum possible : <.+?> sur la même entrée ne correspond qu'à « <a>. » Paresseux est ce que vous voulez généralement en extrayant des balises ou du contenu entre délimiteurs. Les quantificateurs possessifs (*+, ++) correspondent gloutonnement et refusent de reculer — ils échouent au lieu de réessayer, ce qui empêche le retour en arrière catastrophique sur entrée malveillante. Le regex JavaScript ne supporte pas les quantificateurs possessifs nativement ; utilisez des groupes atomiques (?>...) où disponible.
Comment « préserver la casse » décide-t-elle de la capitalisation à utiliser pour le remplacement ?
Préserver la casse est une heuristique qui inspecte le match original et applique le même motif de casse au remplacement. Les règles dans cet outil sont : si le texte correspondu est tout en minuscules (« bonjour »), gardez le remplacement comme tapé (« salut »). Si tout en majuscules (« BONJOUR »), passez le remplacement en majuscules (« SALUT »). Si seule la première lettre est capitalisée (« Bonjour »), capitalisez le remplacement (« Salut »). Casse mixte (« bOnjOUr ») revient généralement à la forme tapée. Utile pour renommer des variables dans la documentation, échanger des noms de produits apparaissant dans les titres et le corps, ou remplacer des termes en préservant la capitalisation de début de phrase. S'applique uniquement aux recherches de texte brut, pas regex — pour regex, utilisez des groupes de capture sensibles à la casse.
Que fait réellement « mot entier seulement » et quand l'utiliser ?
Mot entier seulement enveloppe votre motif de recherche avec des ancres de limite de mot (\b des deux côtés). Une limite de mot est la position de largeur zéro entre un caractère de mot (lettre, chiffre, souligné) et un non-caractère de mot (espace, ponctuation, fin de chaîne). Donc rechercher « chat » avec mot-entier activé correspond à « chat » dans « Le chat court » mais saute « château, » « chatouiller, » et « chats. » Utilisez en remplaçant des noms de variables dans le code (« i » ne devrait pas correspondre à « if »), des noms de produits dans le copy (« Pro » ne devrait pas correspondre à « Processeur »), ou des mots courts courants. Avertissement : dans les langues où les limites de mot ne sont pas basées sur les espaces (syllabes composées vietnamiennes, chinois, japonais), \b peut ne pas se comporter comme attendu. Pour ces écritures, construisez des lookaround positifs/négatifs explicites.

Comment effectuer une recherche-et-remplacement par lot sur plusieurs lignes ou sections d'un document ?
Utilisez Remplacer Tout pour le cas simple — une recherche, un remplacement, appliqué partout. Pour des transformations séquentielles (cherche A remplace par B, puis cherche C remplace par D, puis cherche E remplace par F), faites-les une à la fois et vérifiez chaque étape. Attention aux bugs d'ordre d'opérations : si vous remplacez « chat » par « chien » puis « chien » par « souris, » les chats originaux deviennent des souris, ce que vous n'aviez probablement pas voulu. Pour les réécritures complexes multi-étapes, collez le résultat de chaque étape dans un nouveau champ plutôt que d'enchaîner sur place. Pour les vrais travaux par lots sur de nombreux fichiers, cet outil dans le navigateur convient pour un document à la fois ; pour des centaines de fichiers, utilisez sed (Unix), PowerShell ou la recherche-remplacement multi-fichier de VS Code.
Comment utiliser regex avec des groupes de capture pour reformater des données comme dates, numéros de téléphone ou noms ?
Les groupes de capture mettent des parenthèses autour de parties du match pour réutilisation dans le remplacement. Pour convertir des dates US MM/DD/YYYY en ISO YYYY-MM-DD : cherche (\d{2})/(\d{2})/(\d{4}) et remplace par $3-$1-$2. Pour convertir le format français DD/MM/YYYY en ISO : cherche (\d{2})/(\d{2})/(\d{4}) remplace par $3-$2-$1. Pour échanger « Nom, Prénom » en « Prénom Nom » : cherche (\w+), (\w+) remplace par $2 $1. Pour standardiser les formats de téléphone français en XX XX XX XX XX : cherche (\d{2})\D*(\d{2})\D*(\d{2})\D*(\d{2})\D*(\d{2}) remplace par $1 $2 $3 $4 $5. Les groupes nommés (?<année>\d{4})-(?<mois>\d{2})-(?<jour>\d{2}) sont plus clairs pour les motifs complexes. Testez toujours sur quelques échantillons avant d'exécuter sur le document entier.
Quels sont les pièges courants de regex qui détruisent le texte et comment les éviter ?
Cinq classiques : (1) Oublier d'échapper les métacaractères regex — chercher « . » correspond à n'importe quel caractère ; vous avez besoin de \. pour un point littéral. (2) Correspondance gloutonne à travers les sauts de ligne — .* sur « <a>foo</a><b>bar</b> » sans modificateur paresseux correspond à toute la chaîne. (3) Retour en arrière catastrophique — des motifs comme (a+)+ sur « aaaab » peuvent prendre un temps exponentiel ; utilisez des groupes atomiques ou des quantificateurs possessifs. (4) Confusion d'ancrages — ^ correspond au début de chaîne par défaut, au début de ligne seulement en mode multiligne. (5) Remplacer à l'intérieur des remplacements — si vous échangez « ancien » → « nouveau ancien » l'outil ne remplace qu'une fois par position de match, mais les substitutions récursives non bornées dans certains moteurs peuvent figer. Toujours : testez sur du texte échantillon, utilisez le surlignage pour prévisualiser, gardez une sauvegarde du texte original.
Comment rechercher-et-remplacer fonctionne-t-il pour le refactoring de code vs. le texte en langage naturel ?
Le refactoring de code a besoin d'une conscience syntaxique que le regex pur ne peut fournir. « Remplacez 'foo' par 'bar' » dans le code peut frapper à tort des chaînes, commentaires et identifiants contenant « foo. » Pour le code, préférez les outils conscients du langage : renommage de symbole de VS Code (F2), refactor d'IntelliJ, jscodeshift pour JavaScript, libcst pour Python. Ils parsent l'AST et renomment uniquement les identifiants réels, laissant chaînes et commentaires intacts. La recherche-remplacement de langage naturel est plus permissive mais a ses propres pièges : la substitution insensible à la casse peut endommager les noms propres (« France » devenant « france »), la pluralisation peut laisser des suffixes orphelins, et les limites de mot peuvent rater à travers les traits d'union. Utilisez cet outil pour la prose, les brouillons et les transformations ponctuelles ; recourez à des outils basés AST pour les changements de code en production.
Exemples d'Opérations de Recherche et Remplacement
| Rechercher | Remplacer | Options | Résultat |
|---|---|---|---|
| chat | chien | Sensible à la casse : NON | Change 'chat', 'Chat', 'CHAT' en 'chien' |
| \d+ | NUM | Utiliser regex : OUI | Remplace tous les nombres par 'NUM' |
| le | un | Mot entier : OUI | Remplace 'le' mais pas 'leur' ou 'article' |
| bonjour | salut | Préserver casse : OUI | Bonjour→Salut, BONJOUR→SALUT, bonjour→salut |
| ^\s+ | Regex + Multiligne : OUI | Supprime les espaces en début de chaque ligne |
