Aller au contenu
  • Compresseur d’imagesOutils image · Allégez photos et graphiques en les réencodant en JPG ou WebP, avec un curseur de qualité et une réduction des dimensions facultative.
  • Redimensionner une imageOutils image · Modifiez la largeur et la hauteur d’une image en pixels ou en pourcentage, avec une réduction de haute qualité.
  • Convertisseur d’imagesOutils image · Changez le format d’une ou de plusieurs images en JPG, PNG ou WebP, en contrôlant la qualité et la transparence.
  • Recadrer une imageOutils image · Découpez une partie d’une image avec une sélection déplaçable, des formats prédéfinis et une saisie exacte en pixels.
  • Faire pivoter et retourner une imageOutils image · Tournez une image de 90° ou 180° et retournez-la horizontalement ou verticalement, avec un aperçu en direct.
  • Afficher et supprimer les données EXIFOutils image · Affichez les données EXIF d’une photo – appareil, date et localisation – et supprimez-les toutes ou seulement la position GPS, sans perte de qualité.
  • HEIC en JPGOutils image · Transformez les photos HEIC et HEIF d’iPhone et d’iPad en fichiers JPG ou PNG qui s’ouvrent partout.
  • Flouter et pixeliser une imageOutils image · Masquez visages, noms, plaques d’immatriculation et autres détails d’une photo par pixelisation, flou ou rectangle plein.
  • Générateur de faviconOutils image · Créez un jeu complet de favicons – ICO, icônes PNG et manifeste web – à partir d’une image, d’un texte ou d’un emoji.
  • Fusionner des PDFOutils PDF · Réunissez plusieurs fichiers PDF en un seul document, dans l’ordre de votre choix, avec des plages de pages facultatives par fichier.
  • Diviser un PDFOutils PDF · Extrayez des pages dans un nouveau PDF ou divisez un document en plusieurs fichiers par page, par plage ou par nombre fixe de pages.
  • Réorganiser les pages d’un PDFOutils PDF · Changez l’ordre des pages d’un PDF par glisser-déposer, supprimez les pages inutiles et enregistrez le résultat.

Testeur de regex

Essayez une expression régulière sur votre texte et voyez chaque correspondance, groupe de capture et remplacement pendant la saisie.

Fonctionne dans votre navigateur – vos données ne sont pas envoyées

Chargement de l’outil…

À propos de l’outil Testeur de regex

Une expression régulière (regex) décrit un motif de texte – par exemple « quatre chiffres, un tiret, puis deux chiffres » – et sert à rechercher, valider et réécrire du texte dans le code, les éditeurs, les outils en ligne de commande et les tableurs. Il est bien plus facile d’obtenir un motif qui trouve exactement ce que vous voulez quand vous voyez les correspondances immédiatement.

Ce testeur utilise le moteur de regex JavaScript de votre navigateur : les résultats sont donc les mêmes que ceux de RegExp, match et replace en JavaScript et dans Node.js. Les correspondances sont surlignées pendant la saisie, chacune est listée avec sa position et ses groupes de capture, et le mode « Remplacer » montre ce que produit une chaîne de remplacement.

Les motifs s’exécutent dans un worker d’arrière-plan avec une limite de temps : un motif qui provoque un retour arrière catastrophique ne peut donc pas figer la page. Votre motif et votre texte restent dans votre navigateur.

Mode d’emploi

  1. Saisissez un motif dans « Expression régulière », sans les barres obliques qui l’entourent – ou cliquez sur l’un des exemples.
  2. Activez ou désactivez les drapeaux (flags) : g, i, m, s, u et y, ainsi que d et v si votre navigateur les prend en charge.
  3. Collez le texte à parcourir dans « Texte de test ». Les correspondances sont marquées sous « Correspondances surlignées » et listées sous « Détails des correspondances » avec leur index, leur longueur et leurs groupes.
  4. Choisissez « Remplacer » sous « Mode » et saisissez un remplacement comme $<day>/$<month>/$<year> pour voir le « Résultat après remplacement », puis cliquez sur « Copier le résultat ».
  5. Consultez la syntaxe dans l’aide-mémoire sous le testeur, et utilisez « Effacer » pour recommencer.

Fonctionnalités

  • Surlignage en direct et détails des correspondances: Chaque correspondance est surlignée dans le texte et listée avec son index, sa longueur et ses groupes de capture numérotés et nommés. Les correspondances vides (de longueur nulle) s’affichent sous forme de fins repères et, avec le drapeau d, le début et la fin de chaque groupe sont indiqués.
  • Aperçu du remplacement: Testez un remplacement avec la syntaxe de JavaScript : $1 et $<name> pour les groupes, $& pour la correspondance entière, $` et $' pour le texte avant et après, et $$ pour un signe dollar.
  • Le vrai moteur JavaScript: La recherche utilise l’implémentation RegExp du navigateur : le comportement et les erreurs de syntaxe sont exactement ceux que verra votre code JavaScript.
  • Protection contre les motifs qui s’emballent: Chaque exécution a lieu dans un Web Worker et s’arrête au bout de 1,5 seconde. Au lieu d’un onglet figé, vous obtenez une explication du retour arrière catastrophique.
  • Exemples et aide-mémoire: Chargez des motifs simples pour du texte ressemblant à une adresse e-mail, des dates ISO, des couleurs hexadécimales et des mots répétés, et retrouvez d’un coup d’œil les éléments de syntaxe et les codes de remplacement courants.

Exemples

Reformater des dates

Chargez l’exemple « Date ISO » et passez en mode « Remplacer » : le motif capture l’année, le mois et le jour dans des groupes nommés, et le remplacement $<day>/$<month>/$<year> transforme 2024-03-15 en 15/03/2024.

Trouver des mots en double

Le motif \b(\w+)\s+\1\b avec le drapeau i trouve "is is" et "the the" – même quand le mot répété continue à la ligne suivante. Un remplacement par $1 supprime le doublon.

Extraire les couleurs d’une feuille CSS

Avec #(?:[0-9a-f]{6}|[0-9a-f]{3})\b et les drapeaux g et i, la liste des correspondances affiche chaque couleur hexadécimale à trois ou six chiffres d’une feuille de style, tandis que les valeurs non valides comme #12345G sont ignorées.

Diagnostiquer un motif lent

L’exemple « Motif lent (démo) » ^(a+)+$, appliqué à une longue suite de "a" suivie de "b", est arrêté au bout de 1,5 seconde avec un avertissement. Le + imbriqué est en cause ; ^a+$ trouve le même texte instantanément.

Limites et remarques

  • Seule la syntaxe des regex JavaScript est prise en charge. Les fonctionnalités d’autres variantes, comme les quantificateurs possessifs, les groupes atomiques, la récursion ou \A et \Z, ne sont pas disponibles, et la syntaxe exacte prise en charge dépend de votre navigateur.
  • Le texte de test est limité à 200 000 caractères. Jusqu’à 5 000 correspondances sont listées et surlignées ; le nombre de correspondances et le mode « Remplacer » couvrent quand même toutes les correspondances.
  • Chaque exécution est arrêtée au bout de 1,5 seconde. Un motif légitime mais très lourd sur un long texte peut donc aussi être arrêté.
  • Comme en JavaScript, sans le drapeau g, seule la première correspondance est trouvée et remplacée.
  • Les motifs d’exemple sont volontairement simples, pour apprendre et faire des recherches rapides. Ce ne sont pas des validateurs complets – l’exemple de date accepte par exemple 2024-02-30.
  • L’index et la longueur sont comptés en unités de code UTF-16, comme en JavaScript : un emoji compte donc pour deux caractères.

Questions fréquentes

Quelle variante de regex ce testeur utilise-t-il ?

JavaScript (ECMAScript), exécuté par le moteur de votre navigateur. Les motifs qui fonctionnent ici fonctionnent de la même façon dans du code JavaScript et Node.js. Les motifs Python, PCRE (PHP) et Java sont souvent proches, mais diffèrent sur des détails comme la prise en charge des assertions arrière (lookbehind), les drapeaux en ligne et la syntaxe des groupes nommés.

Pourquoi mon motif ne trouve-t-il qu’une seule correspondance ?

Activez le drapeau g (global). Sans lui, JavaScript s’arrête après la première correspondance – aussi bien pour la recherche que pour le remplacement.

Qu’est-ce que le retour arrière catastrophique ?

Les motifs avec des quantificateurs imbriqués ou qui se chevauchent, comme (a+)+ ou (\w|\d)*, peuvent essayer un nombre exponentiel de façons de faire correspondre un texte qui correspond presque. Le moteur peut alors tourner pendant des minutes. Rendre le motif plus précis – par exemple ^a+$ au lieu de ^(a+)+$ – règle généralement le problème.

Comment utiliser un groupe capturé dans le remplacement ?

Écrivez $1, $2 et ainsi de suite pour les groupes numérotés, ou $<name> pour un groupe écrit (?<name>…). $& insère la correspondance entière, et $$ insère un signe dollar littéral.

Dois-je échapper les barres obliques ?

Pas dans ce testeur : les barres obliques autour de la zone ne sont qu’une décoration, et le motif est transmis directement à new RegExp(). Dans un littéral de regex JavaScript comme /a\/b/, en revanche, une barre oblique doit être échappée.

Mon texte est-il envoyé à un serveur ?

Non. La recherche s’exécute dans un Web Worker à l’intérieur de cette page, et ni le motif ni le texte ne sont envoyés sur le réseau.

Plus d’outils gratuits