Rechercher et remplacer : motifs d'expressions régulières pratiques
13 motifs de rechercher-remplacer en regex JavaScript pour nettoyer du texte : format de date, masquage de téléphone, parenthèses, groupes $1.
Rechercher et remplacer propose un mode simple et un mode expression régulière. Le mode simple recherche exactement ce qui a été saisi, le mode expression régulière recherche des motifs. Ce guide rassemble les règles du mode expression régulière et les motifs les plus utiles.
Règles d'expression régulière de cet outil
- La syntaxe est celle des expressions régulières JavaScript du navigateur.
- Les drapeaux
g(tout remplacer),m(multiligne) etu(Unicode) sont ajoutés automatiquement. Avec « Ignorer la casse » activé,is'y ajoute. - À cause du drapeau
m,^et$correspondent au début et à la fin de chaque ligne, et non du texte entier. - À cause du drapeau
u, une barre oblique inverse inutile provoque une erreur. Par exemple, on ne peut pas écrire\:; il faut écrire:. Les propriétés Unicode comme\p{L}sont utilisables. - Dans le remplacement,
$1et$2sont les groupes entre parenthèses,$&la correspondance entière et$$un seul caractère$.\ndevient un saut de ligne et\tune tabulation. - Si le motif contient une erreur, l'étape ne modifie pas l'entrée et affiche une erreur.
\scorrespond aussi au saut de ligne. Pour ne chercher que des espaces sans passer à la ligne suivante, utilisez[ \t].
Motifs pratiques
Le format ci-dessous est « rechercher → remplacer par ». Quand le remplacement est « (vide) », laissez le champ vide.
1. Changer le format d'une date
(\d{4})-(\d{2})-(\d{2}) → $1.$2.$3
2026-09-23 → 2026.09.23
Pour changer l'ordre, déplacez les numéros de groupe, comme dans $3/$2/$1.
2. Masquer le milieu d'un numéro de portable
(01[016789])-?(\d{3,4})-?(\d{4}) → $1-****-$3
010-1234-5678 → 010-****-5678 01098765432 → 010-****-5432
Ce motif suit le format des portables coréens (préfixes 010, 011, 016 à 019) ; pour d'autres pays, adaptez le premier groupe au format local.
3. Masquer le début d'une adresse e-mail
\b([A-Za-z0-9._%+-]{2})[A-Za-z0-9._%+-]*@ → $1***@
hong.gildong@example.com → ho***@example.com
4. Effacer les parenthèses et leur contenu
\s*\([^)]*\) → (vide)
Paris (siège) Lyon (agence) → Paris Lyon
Les parenthèses imbriquées, comme ((a)), peuvent ne pas être effacées en une seule fois.
5. Effacer les espaces en fin de ligne
[ \t]+$ → (vide)
6. Réduire trois sauts de ligne ou plus à une ligne vide
\n{3,} → \n\n
7. Effacer les virgules des milliers
(\d),(?=\d{3}\b) → $1
1,234,567 USD → 1234567 USD
8. Effacer la chaîne de requête et le fragment d'une URL
(https?:\/\/[^\s?#]+)[?#]\S* → $1
https://example.com/page?utm_source=a#top → https://example.com/page
9. Effacer l'heure en tête d'un historique de discussion
^\[?\d{1,2}:\d{2}(?::\d{2})?\]?[ \t]* → (vide)
[12:30] Bonjour à tous → Bonjour à tous
10. Inverser « Nom, Prénom »
^([^,\n]+),[ \t]*(.+)$ → $2 $1
Kim, Minsu → Minsu Kim
11. Réduire un mot répété à un seul
\b(\w+)[ \t]+\1\b → $1 (avec « Ignorer la casse » activé, The the est aussi détecté)
12. Séparer hangul et lettres latines par un espace
(\p{Script=Hangul})([A-Za-z]) → $1 $2
한글abc → 한글 abc
Utile pour les textes coréens ; en remplaçant Hangul par une autre écriture, comme Han (sinogrammes) ou Hiragana, le même principe s'applique à d'autres langues.
13. Mettre les nombres entre crochets
\d+(?:\.\d+)? → [$&]
Erreurs fréquentes
- Utiliser le point (.) sans échappement : en expression régulière,
.désigne n'importe quel caractère. Pour chercher un point final ou le point d'un domaine, écrivez\..example.comcorrespond aussi àexampleXcom. - Le gourmand .\* :
<.*>saisit d'un coup tout ce qui va du premier<au dernier>de la ligne. Appliqué à<b>x</b> <i>y</i>, il efface aussi le texte. Pour saisir une balise à la fois, utilisez<[^>]*>ou<.*?>. - Le $ dans le remplacement : en mode expression régulière, pour insérer un
$dans le remplacement, comme dans un prix, écrivez$$. En mode simple,$est inséré littéralement. - Chercher des caractères spéciaux comme du texte : pour chercher
( ) [ ] + ? *, faites-les précéder d'une barre oblique inverse. S'il y a beaucoup de symboles, il est plus simple de désactiver l'expression régulière et d'utiliser le mode simple.
Traiter plusieurs lignes à la fois
En mettant \n dans le texte recherché, vous trouvez le saut de ligne lui-même. Par exemple, ,\n → , joint les lignes qui se terminent par une virgule à la ligne suivante. Si le but est d'effacer des lignes entières, Filtrer les lignes est plus simple qu'une expression régulière. Pour découper un texte en phrases, le critère « Fin de phrase » de Ajouter des sauts de ligne (découper) est plus sûr.
L'ordre compte
Vous pouvez placer plusieurs étapes de rechercher et remplacer dans un pipeline ; elles s'appliquent de haut en bas. Le résultat d'une étape est l'entrée de la suivante : il faut souvent nettoyer les espaces d'abord pour que le motif corresponde. En plaçant Supprimer les espaces en bordure et Réduire les espaces et tabulations répétés avant, les motifs restent simples.
Check-list
- Pour les motifs par ligne, utilisez
^et$. - Pour ne pas déborder sur la ligne suivante, utilisez
[ \t]au lieu de\s. - Vérifiez le résultat ; s'il est faux, désactivez l'étape et corrigez le motif.
Dernière mise à jour: 2026-09-23