Balou Tools

🔍 Testeur & Débogueur Regex

Créez et testez des expressions régulières en temps réel. Avec aide-mémoire interactif, protection ReDoS en temps réel et base de données d'exemples. Tout fonctionne localement.

Configurateur Regex

/ /
gim
Analyse statique
Complexité du motif & risque ReDoS
10 /100

Le motif semble peu risqué statiquement. Le timeout reste utile pour les très grandes entrées.

Quantificateurs: 3 Imbriqués: 0 Alternatives: 0 Backrefs: 0
Grande plage de répétition

Un quantificateur {n,m} autorise beaucoup de répétitions ou n’a pas de borne supérieure.

Fixez des limites métier et préférez une validation par parser/streaming pour les gros volumes.

Texte de test

0 correspondances trouvées
Aperçu des correspondances :
Hallo! Bitte kontaktiere uns unter support@balou-tools.ch oder info@example.com für weitere Fragen.
Adresse e-mail Validation

Validation standard pour les adresses e-mail (RFC 5322).

[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}
URL / Lien Validation

Recherche les liens web avec le protocole http ou https.

https?:\/\/(?:www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b(?:[-a-zA-Z0-9()@:%_\+.~#?&\/=]*)
Adresse IPv4 Validation

Valide les adresses réseau IPv4 (0.0.0.0 à 255.255.255.255).

(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)
Adresse IPv6 Validation

Vérifie les modèles d'adresses IPv6 standard.

((?:[0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|(?:[0-9a-fA-F]{1,4}:){1,7}:|(?:[0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|(?:[0-9a-fA-F]{1,4}:){1,5}(?::[0-9a-fA-F]{1,4}){1,2}|(?:[0-9a-fA-F]{1,4}:){1,4}(?::[0-9a-fA-F]{1,4}){1,3}|(?:[0-9a-fA-F]{1,4}:){1,3}(?::[0-9a-fA-F]{1,4}){1,4}|(?:[0-9a-fA-F]{1,4}:){1,2}(?::[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:(?:(?::[0-9a-fA-F]{1,4}){1,6})|:(?:(?::[0-9a-fA-F]{1,4}){1,7}|:))
Numéro de téléphone (Int.) Validation

Numéros de téléphone internationaux avec indicatifs facultatifs.

\+?[0-9]{1,4}[\s.-]?[0-9]{2,4}[\s.-]?[0-9]{2,4}[\s.-]?[0-9]{2,4}
Date (ISO: AAAA-MM-JJ) Validation

Format de date ISO-8601 pour les bases de données.

\d{4}-\d{2}-\d{2}
Date (DE/CH: JJ.MM.AAAA) Validation

Format de date standard pour les régions germanophones.

\b(?:0?[1-9]|[12][0-9]|3[01])\.(?:0?[1-9]|1[0-2])\.(?:19|20)?\d{2}\b
Heure (24h HH:MM) Validation

Heure valide sur 24 heures (00:00 à 23:59).

\b(?:[01]?\d|2[0-3]):[0-5]\d\b
Code postal (CH / DE) Validation

Codes postaux à 4 chiffres (CH) ou 5 chiffres (DE).

\b\d{4,5}\b
Montant monétaire (CHF / EUR) Formatting

Montants en devises avec séparateur décimal et symbole monétaire.

(?:€|EUR|CHF|\$)\s?\d+(?:[.,]\d{2})?|\d+(?:[.,]\d{2})?\s?(?:€|EUR|CHF|\$)
Mot de passe sécurisé Validation

Min 8 caractères, 1 majuscule, 1 minuscule, 1 chiffre, 1 caractère spécial.

^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&]{8,}$
Code couleur hexadécimal Formatting

Codes couleur au format hexadécimal du web (3 ou 6 chiffres).

#(?:[0-9a-fA-F]{3}){1,2}\b
Extraire les balises HTML Extraction

Trouve les balises HTML ouvrantes ou fermantes.

<\/?[a-zA-Z0-9]+(?:\s+[a-zA-Z0-9-]+(?:=(?:"[^"]*"|'[^']*'|[^\s>]+))?)*\s*\/?>
Lettres uniquement (A-Z, Umlaute) Extraction

Trouve des blocs de lettres pures (y compris les umlauts allemands).

[a-zA-ZäöüÄÖÜß]+
Entiers (Integers) Extraction

Trouve des nombres entiers purs (avec signe facultatif).

-?\b\d+\b
Nombres décimaux Extraction

Nombres décimaux séparés par un point ou une virgule.

-?\b\d+[.,]\d+\b
Carte de crédit (VISA/Mastercard) Validation

Numéros de carte de crédit à 16 chiffres (avec/sans tirets).

\b(?:\d{4}[-\s]?){3}\d{4}\b
Adresse MAC Validation

Adresses MAC réseau (séparées par des deux-points/tirets).

\b(?:[0-9a-fA-F]{2}[:-]){5}[0-9a-fA-F]{2}\b
Espaces de début/fin Formatting

Trouve les espaces en début ou en fin de ligne.

^\s+|\s+$
Nom d'utilisateur (Alphanumérique) Validation

3 à 16 caractères, autorise les lettres, chiffres, _ et -.

^[a-zA-Z0-9_-]{3,16}$
UUID v4 Validation

Identifiant unique universel (version 4).

[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}
JWT (JSON Web Token) Validation

Détecte les JWT en trois parties (header.payload.signature).

eyJ[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+
Slug (compatible URL) Validation

Minuscules, chiffres et tirets – p. ex. pour les URL SEO.

^[a-z0-9]+(?:-[a-z0-9]+)*$
Version sémantique (SemVer) Extraction

Numéros de version selon le standard SemVer (major.minor.patch).

\bv?\d+\.\d+\.\d+(?:-[0-9A-Za-z.-]+)?(?:\+[0-9A-Za-z.-]+)?\b
Domaine / Hostname Validation

Noms de domaine valides sans protocole.

\b(?:[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,}\b
Lien Markdown (groupes nommés) Extraction

Extrait le texte et l'URL via les groupes nommés (?<text>) et (?<url>).

\[(?<text>[^\]]+)\]\((?<url>[^)]+)\)
Hashtag Extraction

Hashtags des réseaux sociaux, soulignement inclus.

#[A-Za-z0-9_]+
Mots en double (référence arrière) Extraction

Trouve les mots tapés deux fois par accident via la référence arrière \1.

\b(\w+)\s+\1\b
IBAN (Suisse) Validation

IBAN suisse (CH + 19 chiffres, groupés).

\bCH\d{2}\s?(?:\d{4}\s?){4}\d\b
Emoji (Unicode, flag u) Extraction

Trouve les emojis – nécessite le flag u.

\p{Emoji_Presentation}

Guide & bonnes pratiques

Regex Tester avec débogueur et analyse ReDoS

Créez des regex plus sûres avec matches live, groupes, exemples, remplacement, explication token par token et score de complexité.

Cas d’utilisation typiques

À utiliser pour validation, extraction, parsing de logs, refactoring de motifs, revues ReDoS et apprentissage des tokens regex.

Comment Balou débogue les regex

L’exécution se fait dans un worker navigateur avec timeout. Balou analyse aussi quantificateurs imbriqués, alternatives et références arrière.

Bonnes pratiques anti-ReDoS

Limitez la taille d’entrée, évitez (.*)+, préférez des classes précises et testez des entrées défavorables.

Questions fréquentes

Qu’est-ce que ReDoS ?

Un déni de service causé par un backtracking regex très lent sur une entrée conçue pour cela.

Le texte reste-t-il local ?

Oui, le testeur tourne dans le navigateur ; les explications IA nécessitent une action explicite.

Pourquoi avertir si le match fonctionne ?

Une regex peut matcher correctement mais devenir exponentiellement lente ailleurs.

Quelles fonctions sont expliquées ?

Tokens, groupes, lookarounds, classes, quantificateurs, flags et différences de langages.