Aller au contenu

Échapper une regex

Transformez un texte littéral en motif regex sûr en échappant les caractères qui ont un sens spécial, ou faites l’inverse.

Traité localement dans votre navigateur

Options
0 caractères · 0 lignes
Le résultat apparaîtra ici.

Qu'est-ce que Échapper une regex ?

Des caractères comme . * + ? ^ $ { } ( ) | [ ] \ ont un sens spécial dans une expression régulière. Pour les rechercher littéralement (un prix comme 5,00 $, un nom de fichier avec des points, un terme saisi par l’utilisateur), il faut les échapper avec une barre oblique inverse.

Cet outil échappe le bon jeu de caractères selon votre dialecte : JavaScript, PCRE/PHP (comme preg_quote), Python (comme re.escape) ou Java/.NET. Sauts de ligne et tabulations deviennent \n et \t. Vous pouvez encadrer le résultat en littéral /motif/ ou en chaîne entre guillemets avec antislashs doublés, prête à coller dans du code. Le mode déséchappement retire les antislashs devant la ponctuation, y compris la citation \Q…\E.

Comment ça marche ?

  1. Collez le texte littéral à rechercher.
  2. Choisissez le dialecte de regex et, au besoin, un encadrement (littéral /motif/ ou « chaîne »).
  3. Copiez le motif échappé, ou passez en mode déséchappement pour retrouver le texte brut.

Cas d'usage courants

  • Rechercher une saisie utilisateur ou une phrase fixe dans une regex sans qu’elle soit interprétée.
  • Construire un motif à partir d’un chemin de fichier, d’une URL ou d’un prix comme 5,00 $ (env.).
  • Convertir un littéral en la forme attendue par du code JavaScript, PHP ou Python.
  • Lire un motif échappé en retirant ses antislashs.

Exemples

Essayez cette saisie dans l'outil ci-dessus :

Entrée
price: $5.00 (approx.) [ok]? a+b*c | d\e
Sortie
price: \$5\.00 \(approx\.\) \[ok\]\? a\+b\*c \| d\\e

Confidentialité

Échapper une regex s'exécute entièrement dans votre navigateur. Le texte ou les fichiers que vous fournissez sont traités sur votre appareil et ne sont ni envoyés, ni journalisés, ni stockés sur nos serveurs.

Limites

L’échappement fait correspondre le texte littéralement ; il ne construit pas de motif complexe à votre place. Les dialectes diffèrent : testez toujours le résultat dans votre moteur cible.

Questions fréquentes

Quels caractères sont échappés en JavaScript ?

Les caractères \ ^ $ . * + ? ( ) [ ] { } | ainsi que la barre oblique. Le tiret est laissé tel quel car l’échapper est invalide hors classe de caractères en mode unicode.

En quoi le dialecte Python diffère-t-il ?

Il suit re.escape : il échappe aussi les espaces, tirets, #, &, ~ mais laisse des caractères comme _ et / inchangés.

Que fait l’encadrement « chaîne » ?

Il double chaque antislash et échappe les guillemets doubles pour que le motif puisse être collé entre guillemets dans une chaîne littérale.

Plus d'outils dans Outils développeur →