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.