Testeur d'expressions régulières

À propos de cet outil

Exécutez une expression régulière sur un texte et visualisez les correspondances. Tous les traitements s'exécutent entièrement dans votre navigateur ; aucune donnée n'est envoyée.

Exécution du test

Mode d'emploi

  1. Saisissez l'expression régulière et les modificateurs.
  2. Cliquez sur « Lancer le test » pour afficher les correspondances dans le texte.

Exemples pratiques (catégorisés / 100 + modèles prêts à l'emploi)

Notions de base / espaces / lignes
  • Ligne vide uniquement : ^\s*$ (m)
  • Espaces en début de ligne : ^\s+ (m)
  • Espaces en fin de ligne : \s+$ (m)
  • Espaces en début ou fin (à supprimer) : ^\s+|\s+$ (m)
  • Espaces consécutifs (compresser à 1) : \s{2,}
  • Caractères visibles (hors espaces) : \S+
  • ASCII uniquement : ^[\x00-\x7F]+$
  • ASCII imprimables : ^[\x20-\x7E]+$
  • Ligne contenant un caractère non ASCII : [^\x00-\x7F]
  • Délimitation de mot : \bword\b
Nombres et montants
  • Entier (signe optionnel) : ^-?\d+$
  • Décimal (signe optionnel) : ^-?\d*\.\d+$
  • Nombre entier ou décimal : ^-?(?:\d+|\d*\.\d+)$
  • Séparateur de milliers (ex. : 1,234,567) : ^\d{1,3}(?:,\d{3})+$
  • Montant (¥ ou $ + séparateurs) : ^(?:¥|\$)\s?\d{1,3}(?:,\d{3})*(?:\.\d{2})?$
  • Pourcentage : ^\d{1,3}(?:\.\d+)?%
  • Notation scientifique : ^[+-]?(?:\d+\.?\d*|\.\d+)[eE][+-]?\d+$
  • Hexadécimal : ^(?:0x)?[0-9A-Fa-f]+$
  • Binaire : ^[01]+$
  • Octal : ^[0-7]+$
Dates et heures
  • Date YYYY-MM-DD (format uniquement) : ^\d{4}-\d{2}-\d{2}$
  • Heure HH:MM (24 h) : ^(?:[01]\d|2[0-3]):[0-5]\d$
  • Heure HH:MM:SS (24 h) : ^(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d$
  • Date-heure ISO8601 (simple) : ^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?Z$
  • Mois (YYYY/MM) : ^\d{4}/(0[1-9]|1[0-2])$
  • Ère Reiwa (forme simple Rn) : ^令和\d+年(?:\d+月(?:\d+日)?)?$ (u)
  • Jour de semaine (anglais, 3 lettres) : ^(Mon|Tue|Wed|Thu|Fri|Sat|Sun)$
  • Fuseau horaire (±HH:MM) : ^[+-](?:[01]\d|2[0-3]):[0-5]\d$
Coordonnées et adresses (simplifié, Japon)
  • Code postal japonais : ^\d{3}-\d{4}$
  • Téléphone japonais (0x-xxxx-xxxx) : ^0\d{1,4}-\d{1,4}-\d{4}$
  • Téléphone international (+indicatif, séparations simples) : ^\+\d{1,3}\s?\d+(?:[\s-]\d+)*$
  • Préfectures (kanji / 都道府県/道/府) : ^(?:東京都|北海道|(?:京都|大阪)府|.+県)$ (u)
  • E-mail (forme classique) : ^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}$
  • Nom d'utilisateur (3–16 alphanumériques + _ ) : ^[A-Za-z0-9_]{3,16}$
  • Mot de passe robuste (majuscule/minuscule/chiffre/symbole, ≥ 8) : ^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[\W_]).{8,}$
Web / URL / HTTP
  • URL http/https (simplifié) : https?:\/\/\S+
  • Domaine (sans Punycode, simplifié) : ^(?:[A-Za-z0-9-]+\.)+[A-Za-z]{2,}$
  • Hôte avec sous-domaines : ^(?:[A-Za-z0-9-]+\.)*[A-Za-z0-9-]+\.[A-Za-z]{2,}$
  • Paramètre de requête key=value : [?&]([A-Za-z0-9._~-]+)=([^&#]+)
  • Fragment d'URL : #\w[\w-]*
  • Extension de fichier (.png|.jpg|.gif...) : \.(?:png|jpe?g|gif|webp|svg)$ (i)
  • Méthode HTTP : ^(GET|POST|PUT|PATCH|DELETE|HEAD|OPTIONS)$
  • Ligne d'en-tête HTTP : ^[A-Za-z0-9-]+:\s?.+$ (m)
  • En-tête d'authentification Basic : ^Basic\s+[A-Za-z0-9+/=]+$
  • En-tête d'authentification Bearer : ^Bearer\s+[A-Za-z0-9\-\._~\+\/]+=*$
Identifiants réseau (IP/MAC/CIDR/UUID/JWT…)
  • IPv4 (0–255 strict) : \b(?:(?:25[0-5]|2[0-4]\d|[01]?\d?\d)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d?\d)\b
  • IPv6 (simplifié, avec abréviations) : \b(?:[A-Fa-f0-9]{1,4}:){2,7}[A-Fa-f0-9]{1,4}\b
  • Adresse MAC (séparateur :) : ^(?:[0-9A-Fa-f]{2}:){5}[0-9A-Fa-f]{2}$
  • Adresse MAC (séparateur -) : ^(?:[0-9A-Fa-f]{2}-){5}[0-9A-Fa-f]{2}$
  • CIDR IPv4 (longueur 0–32) : ^\b(?:\d{1,3}\.){3}\d{1,3}\/(?:[0-9]|[12]\d|3[0-2])\b$
  • UUID v4 : ^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$ (i)
  • GUID (insensible à la casse) : ^{?[0-9A-F]{8}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{12}}?$ (i)
  • Base64 (avec padding) : ^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$
  • JWT (trois segments séparés par des points) : ^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+$
  • Clé publique SSH (ssh-rsa/ed25519) : ^ssh-(?:rsa|ed25519)\s+[A-Za-z0-9+/=]+(?:\s.+)?$
Fichiers / chemins / versions
  • Chemin absolu Windows : ^[A-Za-z]:\\(?:[^\\/:*?"<>|\r\n]+\\)*[^\\/:*?"<>|\r\n]*$
  • Chemin absolu UNIX : ^\/(?:[^\/\0]+\/)*[^\/\0]*$
  • Nom de fichier sûr (alphanumérique . _ -) : ^[A-Za-z0-9._-]+$
  • Extraire une extension : \.([A-Za-z0-9]+)$
  • Hash Git (7–40 caractères) : ^[0-9a-f]{7,40}$
  • SemVer : ^\d+\.\d+\.\d+(?:-[0-9A-Za-z.-]+)?(?:\+[0-9A-Za-z.-]+)?$
  • Image Docker :tag : ^[a-z0-9]+(?:[._-][a-z0-9]+)*(?::[\w.-]+)?$
  • Nom de package NPM (simplifié) : ^(?:@[\w-]+\/)?[\w.-]+$
  • Slug d'URL : ^[a-z0-9]+(?:-[a-z0-9]+)*$
Front-end Web (HTML/CSS/couleurs)
  • Balise HTML (ouverture/fermeture, simplifié) : <([A-Za-z][A-Za-z0-9]*)\b[^>]*>([\s\S]*?)<\/\1>
  • Commentaire HTML : <!--[\s\S]*?-->
  • Valeur d'attribut href : href\s*=\s*"(.*?)" (i)
  • Couleur CSS (#RGB/#RRGGBB) : ^#(?:[0-9A-Fa-f]{3}){1,2}$
  • Couleur CSS rgb() : ^rgb\(\s*(?:[01]?\d?\d|2[0-4]\d|25[0-5])\s*,\s*(?:[01]?\d?\d|2[0-4]\d|25[0-5])\s*,\s*(?:[01]?\d?\d|2[0-4]\d|25[0-5])\s*\)$
  • Couleur CSS hsl() : ^hsl\(\s*(?:\d|[1-2]\d{2}|3[0-5]\d)\s*,\s*(?:\d|[1-9]\d)%\s*,\s*(?:\d|[1-9]\d)%\s*\)$
  • Unités CSS (px, em, …) : ^-?\d+(?:\.\d+)?(?:px|em|rem|vh|vw|%)$
Chaînes et syntaxe (extraits de code)
  • Identifiant JavaScript (simplifié) : ^[A-Za-z_$][A-Za-z0-9_$]*$
  • Ligne de commentaire JavaScript // : ^\s*\/\/.*$ (m)
  • Commentaire de bloc JavaScript : \/\*[\s\S]*?\*\/
  • Chaîne entre guillemets doubles (échappements simples) : "(?:[^"\\]|\\.)*"
  • Chaîne entre guillemets simples : '(?:[^'\\]|\\.)*'
  • Littéral de gabarit (simplifié) : `(?:[^`\\]|\\.|\\${[^}]*})*`
  • Clé JSON : "([A-Za-z0-9_]+)"\s*:
  • Cellule CSV (guillemets doubles gérés simplement) : (?:"(?:[^"]|"")*"|[^,\r\n]*)
  • URL dans un e-mail : https?:\/\/[^\s)>"]+
Sécurité / validation d'entrée (à utiliser avec prudence)
  • Carte bancaire (Luhn à part, simple) : \b(?:\d[ -]*?){13,19}\b
  • VISA (commence par 4, 13/16/19 chiffres) : \b4\d{12}(?:\d{3})?(?:\d{3})?\b
  • Mastercard (51–55 / 2221–2720) : \b(?:5[1-5]\d{14}|2(?:2[2-9]\d{2}|[3-6]\d{3}|7[01]\d{2}|720\d{2})\d{10})\b
  • Numéro individuel japonais (My Number, format uniquement) : ^\d{12}$
  • Code postal + adresse (simple) : ^\d{3}-\d{4}\s+.+$
  • Détection de balises <script> (XSS simple) : <\s*script\b[^>]*>[\s\S]*?<\s*\/\s*script\s*>
  • Mots-clés SQL probables : \b(SELECT|INSERT|UPDATE|DELETE|DROP|ALTER|CREATE)\b (i)

※ Pour toute extraction/validation de données sensibles, vérifiez impérativement la législation et vos politiques internes.

Journaux et formats
  • Apache/Nginx CLF (simplifié) : ^(\S+)\s+(\S+)\s+(\S+)\s+\[([^\]]+)\]\s+"([^"]+)"\s+(\d{3})\s+(\d+|-)
  • Extraction d'horodatage ISO8601 : \d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|[+-]\d{2}:\d{2})
  • Ligne JSON (1 JSON par ligne) : ^\{.*\}$ (m)
  • Extraction d'UUID : [0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12} (i)
  • Extraction d'IP (IPv4 simplifié) : \b(?:\d{1,3}\.){3}\d{1,3}\b
Markdown
  • Titres (# à ######) : ^(#{1,6})\s+(.+)$ (m)
  • Liens : \[([^\]]+)\]\(([^)]+)\)
  • Images : !\[([^\]]*)\]\(([^)]+)\)
  • Code inline : `([^`]+)`
  • Bloc de code (```…```, simple) : ```[\s\S]*?```
  • Liste à puces (- * +) : ^\s*[-*+]\s+.+$ (m)
  • Citation > : ^\s*>\s+.+$ (m)
Écritures japonaises / types de caractères (Unicode, drapeau u recommandé)
  • Hiragana uniquement : ^[\u3041-\u3096]+$ (u)
  • Katakana uniquement : ^[\u30A1-\u30FA\u30FC]+$ (u)
  • Katakana demi-chasse : ^[\uFF66-\uFF9D\uFF70]+$ (u)
  • Contient du kanji : [\u4E00-\u9FFF] (u)
  • Caractères pleine largeur uniquement : ^[^\x00-\x7F]+$
  • Chiffres et lettres pleine largeur : ^[\uFF10-\uFF19\uFF21-\uFF3A\uFF41-\uFF5A]+$ (u)
  • Code postal (accepte chiffres pleine largeur, simple) : ^[0-9\d]{3}-[0-9\d]{4}$ (u)
  • Furigana (katakana pleine largeur) : ^[\u30A1-\u30FA\u30FC\s]+$ (u)
Utilitaires de formatage / extraction texte
  • Supprimer le numéro initial « 1. » : ^\s*\d+\.\s* (m)
  • Supprimer les préfixes de listes : ^\s*(?:[-*+]|•|\d+\.)\s* (m)
  • Extraire le contenu entre parenthèses : \(([^)]*)\)
  • Extraire entre guillemets doubles : "([^"\\]|\\.)*"
  • Montant en yen « ¥123,456 » : ¥\s?\d{1,3}(?:,\d{3})*
  • Extraire le domaine d'un e-mail : @([A-Za-z0-9.-]+\.[A-Za-z]{2,})
  • Supprimer les balises HTML (simple) : <[^>]+>
  • Réduire les espaces multiples à un seul : \s{2,}
Autres motifs utiles
  • Plaque japonaise (très simplifié) : ^[\u3041-\u3096\u30A1-\u30FA\u4E00-\u9FFF]{1,2}\s?\d{3,4}$ (u)
  • ID vidéo YouTube : (?<=v=|youtu\.be\/)[A-Za-z0-9_-]{11}
  • Utilisateur Twitter/X @handle : @[A-Za-z0-9_]{1,15}
  • Canal Slack : #[a-z0-9_-]{1,80}
  • Noms de couleurs (quelques mots-clés CSS) : \b(?:red|green|blue|black|white|gray|silver|maroon)\b (i)
  • Annotation entre crochets japonais 〔…〕 : [([^]]*)]|【([^】]*)】|〔([^〕]*)〕 (u)
  • Détection de katakana demi-chasse : [\uFF61-\uFF9F] (u)
  • Mot anglais (avec tirets) : \b[A-Za-z]+(?:-[A-Za-z]+)*\b
  • Numéro de commande dans un e-mail (ex. #12345) : #\d{4,}
  • Nom de gare japonaise (se terminant par 駅) : .+駅\b (u)

※ Les motifs ci-dessus couvrent des usages courants et peuvent être utilisés tels quels. Pour des validations rigoureuses (années bissextiles, domaines internationalisés, parsing HTML complet, etc.), envisagez une logique ou une bibliothèque dédiée.