Outil gratuit

    Expression régulière Testeur

    Testez, déboguez et visualisez des expressions régulières grâce à la correspondance en temps réel.

    Expression régulière

    //g
    Drapeaux :
    Préréglages :

    Chaîne de test

    Que sont les expressions régulières ?

    Les expressions régulières (regex) sont des modèles utilisés pour identifier des combinaisons de caractères dans des chaînes de caractères. Elles sont prises en charge par pratiquement tous les langages de programmation et sont indispensables pour le traitement de texte, la validation des entrées, la recherche et le remplacement, ainsi que l'analyse des journaux.

    Indicateurs Regex en JavaScript

    • g — Global : trouve toutes les correspondances, pas seulement la première
    • i — Insensible à la casse
    • m — Multiligne : ^ et $ correspondent aux limites de ligne
    • s — Dotall : . correspond aux caractères de saut de ligne

    Cas d'utilisation courants

    • Validation des adresses e-mail, numéros de téléphone et URL
    • Extraction de données depuis des fichiers journaux et du texte structuré
    • Rechercher-remplacer dans les éditeurs de code et les IDE
    • Création de masques de saisie et de validateurs de formulaires
    • Analyse et transformation de données CSV, JSON et XML

    Quand recourir aux expressions régulières

    Les expressions régulières sont particulièrement efficaces pour les motifs courts et bien définis où l'on a besoin de faire correspondre, d'extraire ou de remplacer du texte — analyse de lignes de journal, règles de routage d'URL, validation de champs de formulaire et opérations de recherche et de remplacement dans un éditeur. Elles deviennent toutefois un frein lorsque les données d'entrée relèvent en réalité d'un langage structuré : HTML, JSON, code source ou tout autre format comportant des délimiteurs imbriqués. Dans ces cas-là, utilisez un véritable analyseur syntaxique ; l'expression régulière que vous écrivez aujourd'hui cessera de fonctionner sans prévenir dès le prochain cas limite.

    Expression régulière Foire aux questions

    Des réponses rapides aux questions sur les expressions régulières auxquelles vous êtes réellement confronté lorsque vous écrivez des modèles à la main.

    Quel type d'expression régulière ce testeur utilise-t-il ?
    Expressions régulières ECMAScript / JavaScript (le moteur intégré à votre navigateur). Les expressions qui fonctionnent ici fonctionneront également dans `String.prototype.match`, `RegExp.test` et la plupart des linters ou extensions d'éditeur modernes basés sur JS. Les expressions écrites pour PCRE (PHP, Perl), `re` de Python ou `regexp` de Go peuvent se comporter différemment — les lookbehinds, les groupes atomiques et la syntaxe des groupes nommés sont des points de divergence courants.
    Comment puis-je rendre mon motif insensible à la casse ?
    Activez l'indicateur `i` (sans distinction de casse). Cela applique la conversion de casse à l'ensemble du motif ; ainsi, `/Hello/i` correspond à `hello`, `HELLO` et `HeLLo`. Si vous souhaitez qu'une seule partie du motif ne tienne pas compte de la casse, vous devez énumérer explicitement les caractères concernés — les expressions régulières JavaScript ne prennent pas en charge les modificateurs en ligne tels que `(?i:...)`.
    Pourquoi mon expression régulière ne fonctionne-t-elle pas sur plusieurs lignes ?
    Deux options influencent le comportement en mode multiligne. Le drapeau `m` (Multiline) modifie `^` et `$` afin qu'ils correspondent aux limites de ligne plutôt qu'uniquement au début et à la fin de la chaîne entière — ce qui est utile pour la validation ligne par ligne. Par ailleurs, le drapeau `s` (dotAll) permet à `.` de correspondre également aux sauts de ligne — sans lui, `.*` s'arrête au premier `\n`. La plupart des cas d'utilisation multiligne nécessitent les deux.
    Quelle est la différence entre les quantificateurs gloutons et les quantificateurs paresseux ?
    Par défaut, les quantificateurs tels que « * », « + » et « {n,m} » sont « gourmands » : ils consomment autant de données d'entrée que possible tout en permettant à la correspondance globale de réussir. L'ajout de « ? » les rend paresseux : ils consomment le minimum et laissent les parties suivantes du motif récupérer le reste. Le quantificateur glouton « <.+> » appliqué à « » correspond à la chaîne entière ; le quantificateur paresseux « <.+?> » ne correspond qu'à « ». Les quantificateurs paresseux sont généralement ce qu'il vous faut pour extraire des champs entre des délimiteurs.
    Comment échapper les caractères spéciaux dans mon motif ?
    Pourquoi mon expression régulière trouve-t-elle plus (ou moins) de résultats que prévu ?