CoderTools

Testeur d'expressions régulières

Testez et déboguez des expressions régulières avec des résultats de correspondance instantanés

Résultats de Correspondance

Aucune correspondance trouvée

                    

Détails de Correspondance

Saisissez un motif d'expression régulière et un texte de test pour voir les informations détaillées de correspondance
/ /

Modèles Rapides

Fonction de Remplacement

Utilisez $1, $2, etc. pour les groupes capturés

                        
sed 's/pattern/replacement/g' input.txt
This sed command can be used in Unix/Linux/macOS terminal or Git Bash on Windows

Documentation de l'Outil de Test d'Expression Régulière

Qu'est-ce qu'une Expression Régulière ?

Les expressions régulières (regex) sont des outils puissants de correspondance de motifs utilisés en programmation pour rechercher, extraire et manipuler du texte.

Elles sont largement utilisées pour la validation des données, le traitement de texte et les opérations de recherche-remplacement.

Comment Utiliser Cet Outil

  1. Choisissez un modèle rapide ou saisissez votre expression régulière
  2. Définissez les drapeaux appropriés (g, i, m)
  3. Saisissez le texte de test
  4. Visualisez les résultats en temps réel
  5. Utilisez la fonction de remplacement

Drapeaux d'Expression Régulière

g
Global
Trouver toutes les correspondances
i
Ignorer la Casse
Correspondance insensible à la casse
m
Multilignes
^ et $ correspondent aux limites de ligne

Motifs Communs

Motifs de Base
\\d - Tout chiffre (0-9)
\\w - Caractère de mot
\\s - Caractère d'espace
. - Tout caractère sauf nouvelle ligne
Quantificateurs
+ - Un ou plusieurs
* - Zéro ou plusieurs
? - Zéro ou un
{n} - Exactement n fois
Ancres
^ - Début de ligne
$ - Fin de ligne
\\b - Limite de mot

Exemples Pratiques

Validation Email

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

Correspond aux adresses email valides.

Numéro de Téléphone (Format US)

\\(?([0-9]{3})\\)?[-. ]?([0-9]{3})[-. ]?([0-9]{4})

Capture l'indicatif régional, l'échange et le numéro avec formatage flexible.

Correspondances (555) 123-4567, 555.123.4567, 555-123-4567

Correspondance URL

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

Correspond aux URLs HTTP/HTTPS avec préfixe www optionnel et divers formats de chemin.

Correspondances https://example.com, http://www.site.org/path

Validation de Mot de Passe Fort

^(?=.*[a-z])(?=.*[A-Z])(?=.*\\d)[a-zA-Z\\d@$!%*?&]{8,}$

Nécessite au moins 8 caractères avec minuscules, majuscules et chiffres.

Correspondances Password123, MyStr0ngP@ss

Fonctionnalités Avancées

Groupes de Capture
Utilisez les parenthèses () pour capturer des parties de correspondances pour le remplacement
([0-9]{4})-([0-9]{2})-([0-9]{2})
Lookahead/Lookbehind
Correspondance basée sur ce qui vient avant/après sans l'inclure
(?=.*password)
Groupes Non-Capturants
Grouper sans capturer en utilisant (?:pattern)
(?:http|https)://

Conseils et Meilleures Pratiques

  • Commencez simplement et augmentez la complexité progressivement
  • Utilisez le drapeau global (g) pour trouver toutes les correspondances
  • Échappez les caractères spéciaux avec une barre oblique inverse (\)
  • Testez minutieusement avec divers exemples d'entrée
  • Utilisez les groupes de capture pour des remplacements complexes
  • Considérez les performances avec de gros textes

sed Command Generation

This tool automatically generates equivalent sed commands based on your regex pattern and replacement text, making it easy to use regex in Unix/Linux command line.

Search Mode (Empty Replacement)

When replacement text is empty, generates a search command to print matching lines only.

sed -n '/pattern/p' input.txt
Exemple : Motif : error
Résultat : Affiche toutes les lignes contenant 'error'

Replace Mode (With Replacement)

When replacement text is provided, generates a substitution command.

sed 's/pattern/replacement/flags' input.txt
Exemple : Motif : foo, Remplacement : bar
Résultat : Remplace tous les 'foo' par 'bar'
Note: Special characters are automatically escaped. The generated command works in Unix/Linux/macOS terminals and Git Bash on Windows.

Bonnes pratiques

Commencer simple, puis ajouter de la complexité

Construisez votre regex progressivement. Commencez par un motif simple qui correspond à certains cas, puis affinez pour gérer les cas limites. Tester chaque étape évite un débogage complexe.

Utiliser des groupes non-capturants quand possible

Utilisez (?:...) au lieu de (...) quand vous n'avez pas besoin de capturer le groupe. Cela améliore les performances et garde les numéros de groupes de capture plus clairs.

Ancrer vos motifs

Utilisez ^ et $ pour ancrer les motifs aux limites de ligne/chaîne lorsque c'est approprié. Les motifs non ancrés peuvent correspondre à des sous-chaînes inattendues.

Être spécifique avec les classes de caractères

Au lieu de .* (qui correspond à tout), utilisez des classes spécifiques comme [a-zA-Z]+ ou \d{3}. Les motifs trop larges causent des correspondances incorrectes et des problèmes de retour en arrière.

Échapper les caractères spéciaux

N'oubliez pas d'échapper . * + ? [ ] ( ) { } ^ $ \ | quand vous voulez les faire correspondre littéralement. Utilisez le format d'échappement Regex de cet outil pour vous aider.

Tester avec des cas limites

Testez votre regex avec des chaînes vides, très longues, des caractères spéciaux et Unicode. Les données du monde réel contiennent souvent des motifs inattendus.

Dépannage

Pourquoi mon motif ne correspond à rien ?

Vérifiez les drapeaux : 'g' pour les correspondances multiples, 'i' pour insensible à la casse, 'm' pour multiligne. Vérifiez également que les caractères spéciaux sont correctement échappés.

Pourquoi ma regex fait planter le navigateur ?

Retour en arrière catastrophique dû aux quantificateurs imbriqués comme (a+)+ ou (a|aa)*. Simplifiez votre motif ou utilisez des quantificateurs possessifs si supportés.

Pourquoi mes groupes capturés retournent des valeurs inattendues ?

La numérotation des groupes commence à 1 pour le premier (...). Le groupe 0 est la correspondance entière. Les groupes non-capturants (?:...) ne consomment pas de numéros de groupe.

Pourquoi mon motif fonctionne différemment dans différents langages ?

Les variantes de regex diffèrent. JavaScript ne supporte pas le lookbehind dans les anciens navigateurs. Des fonctionnalités comme \b, \w peuvent se comporter différemment avec Unicode. Testez dans votre environnement cible.