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
- Saisissez l'expression régulière et les modificateurs.
- 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.