Testeur de regex

Correspondances surlignées et groupes

Aucune base de données : AIMRAN ne conserve ni vos fichiers, ni vos textes, ni vos résultats

Qu’est-ce que Testeur de regex ?

Les expressions régulières sont des motifs pour rechercher du texte : e-mails, numéros de téléphone, dates ou n’importe quel format. Ce testeur vous permet d’écrire un motif et de voir aussitôt quelles parties du texte correspondent, surlignées en couleur.

Il affiche aussi les groupes de capture de chaque correspondance et permet de tester des remplacements. Un aide-mémoire avec la syntaxe la plus courante est inclus pour ne pas avoir à la chercher.

Mode d’emploi

  1. Saisissez le motif dans « Expression régulière » ou collez un littéral /motif/drapeaux.
  2. Activez les drapeaux nécessaires : g, i, m, s, u ou y.
  3. Collez le texte dans « Texte de test » et examinez les correspondances surlignées.
  4. Consultez les groupes de chaque correspondance dans la liste.
  5. Activez « Remplacer » et utilisez $1,
    lt;nom> ou
    amp; pour voir le texte remplacé.

Avantages

Détails techniques

L’outil utilise le moteur d’expressions régulières de JavaScript (ECMAScript), avec prise en charge des groupes nommés (?<nom>…), du lookbehind, des classes Unicode avec le drapeau u et des drapeaux g, i, m, s (dotAll), u et y (sticky). L’exécution se fait dans un Web Worker avec une limite de 1,5 seconde : si un motif à quantificateurs imbriqués comme (a+)+ provoque un backtracking catastrophique, le worker est arrêté et un avertissement s’affiche. Jusqu’à 300 correspondances sont listées avec leur position et leurs groupes numérotés et nommés. Le remplacement utilise String.prototype.replace avec la syntaxe $1,

lt;nom> et
amp;. Les erreurs de syntaxe sont expliquées clairement en français.

Questions fréquentes

Qu’est-ce qu’une expression régulière ?

Un motif qui décrit un ensemble de chaînes de texte. Par exemple, \d{5} trouve n’importe quel groupe de cinq chiffres, comme un code postal.

À quoi sert le drapeau g ?

Il fait rechercher toutes les correspondances du texte et pas seulement la première. Sans lui, le testeur n’affiche que la première.

Comment utiliser un groupe de capture dans le remplacement ?

Avec $1, $2… pour les groupes numérotés,

lt;nom> pour les groupes nommés et
amp; pour la correspondance entière.

Cette regex fonctionne-t-elle pareil en Python ou en PHP ?

La syntaxe de base est très proche, mais le testeur utilise le moteur JavaScript. Certaines fonctions, comme les groupes possessifs, varient selon les langages.

Pourquoi mon expression régulière se bloque-t-elle ?

Probablement à cause d’un backtracking catastrophique, causé par des quantificateurs imbriqués comme (a+)+. Le testeur l’arrête au bout de 1,5 seconde et vous prévient.

Plus d’outils : Développeurs