Python Regex : correspondance de modèles avec le module re
Maîtrisez les expressions régulières (Regex) en Python. Apprenez à rechercher, faire correspondre, diviser et remplacer des données de chaîne à l'aide de la bibliothèque re intégrée.
Aperçu
Les expressions régulières (souvent abrégées en regex) sont un mini-langage utilisé pour la recherche de texte avancée, la correspondance de chaînes et la manipulation. Au lieu de vérifier des valeurs de chaîne simples, les expressions régulières vous permettent de définir des modèles complexes à rechercher dans des corps de texte volumineux. Par exemple, trouver toutes les adresses e-mail, numéros de téléphone ou URL dans un document est simple à exprimer en regex, mais incroyablement complexe à écrire à l'aide de méthodes de chaîne normales.
Python fournit une prise en charge intégrée des expressions régulières via le module `re`. Le module comprend des fonctions critiques telles que `re.search()` pour trouver la première correspondance, `re.findall()` pour récupérer toutes les sous-chaînes correspondantes sous forme de liste et `re.finditer()` pour parcourir les objets de correspondance. Chaque objet de correspondance fournit des métadonnées, telles que l'index exact des positions de début et de fin de la sous-chaîne correspondante, ainsi que le texte correspondant lui-même.
Les modèles Regex utilisent des métacaractères spéciaux : `\d` correspond à n'importe quel chiffre, `\w` correspond à des caractères alphanumériques, `+` correspond à une ou plusieurs répétitions et les crochets `[...]` définissent des jeux de caractères. Le regroupement avec des parenthèses `(...)` vous permet d'extraire des parties spécifiques d'un motif. De plus, `re.sub()` vous permet de rechercher un modèle et de le remplacer par une nouvelle chaîne. Bien que l’expression régulière ait une courbe d’apprentissage abrupte, sa maîtrise vous fournit un outil incroyablement rapide et polyvalent pour le traitement de texte.
Sortie de code et d'exécution
Utilisation du module re pour valider et extraire les composants d'une adresse e-mail.
import re
text = "Contact support at info@pyrun.xyz or developer@pyrun.xyz today."
# Pattern to match email addresses
email_pattern = r"([a-zA-Z0-9._%+-]+)@([a-zA-Z0-9.-]+\.[a-zA-Z]{2,})"
# Find all matches
emails = re.findall(email_pattern, text)
print("Emails found:")
for user, domain in emails:
print(f"User: {user} | Domain: {domain}")
# Redacting emails using re.sub
redacted_text = re.sub(email_pattern, "[REDACTED]", text)
print(f"\nRedacted Text:\n{redacted_text}")Emails found:
User: info | Domain: pyrun.xyz
User: developer | Domain: pyrun.xyz
Redacted Text:
Contact support at [REDACTED] or [REDACTED] today.Mise en œuvre étape par étape
- Validation des entrées de format (e-mails, téléphones, mots de passe)
- Analyse des journaux d'accès au serveur pour les codes d'état
- Récupération d'informations à partir de rapports HTML bruts et de démarques
Foire aux questions
Quelle est la signification du préfixe « r » dans les modèles d'expression régulière ?
Il désigne une « chaîne brute ». Les chaînes brutes traitent les barres obliques inverses (\) comme des caractères littéraux au lieu de caractères d'échappement, évitant ainsi les conflits de syntaxe avec les caractères génériques d'expression régulière.
Quelle est la différence entre re.match et re.search ?
re.match vérifie uniquement une correspondance commençant au tout début de la chaîne, tandis que re.search analyse toute la chaîne à la recherche d'une correspondance.
Sujets connexes
Maîtrisez la manipulation des chaînes en Python. Apprenez les méthodes de chaîne, les techniques de découpage, de concaténation et de formatage avec des exemples de code clairs et exécutables.
E/S de fichier PythonApprenez à lire et écrire des fichiers en Python. Maîtrisez open(), read(), write() et les gestionnaires de contexte pour gérer les opérations sur les fichiers en toute sécurité sans fuite de ressources.
Ressources Python recommandées
Développez vos connaissances avec des didacticiels interactifs, des aide-mémoire et des comparaisons de codes associés.
Comment trier une liste en Python
Apprenez à trier une liste en Python à l'aide de la méthode sort() et de la fonction sorted(). Découvrez des exemples de tri de clés personnalisé et d’ordre inverse.
Aide-mémoire sur les modèles Python Regex (re module)
Guide de référence pour les expressions régulières Python. Apprenez les modèles de correspondance, de recherche, de recherche, de sous et d'expression régulière essentiels.
Python vs JavaScript : quel langage de programmation est le meilleur ?
Une comparaison complète entre Python et JavaScript. Explorez les différences de syntaxe, les performances, les cas d'utilisation (backend et frontend) et des exemples de codage.