Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Industrial programming >> Python

Maîtriser les Expressions Régulières Python : re.match(), re.search(), re.findall() — Exemples Pratiques

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

Une expression régulière (regex) est une description textuelle compacte qui indique à Python comment localiser des motifs dans une chaîne. Les regex sont indispensables pour l'extraction de données, la validation et la transformation à travers les bases de code, logs, fichiers de configuration et projets de web scraping.

En Python, le module re est fourni avec l'interpréteur et expose une API riche pour compiler des motifs, rechercher et remplacer du texte. Que vous filtriez des entrées utilisateur, parsiez des logs ou scrapiez du contenu web, une solide maîtrise des bases des regex fait gagner du temps et réduit les bugs.

Concepts de Base des Regex

Tableau des Identificateurs Courants

IdentificateurDescriptionEspace blancÉchappement spécial
\dTout chiffre (0-9)\n., +, *, ?, [], $, ^, (, ), {}, |, \
\DNon-chiffre\s
\sEspace, tabulation, nouvelle ligne, etc.\t
\SNon-espace\e
\wAlphanumérique plus underscore\r
\WNon-alphanumérique (hors underscore)\f
.Tout caractère sauf nouvelle ligne—
\bFrontière de mot—
\.Point littéral—
\{x}Exactement x occurrences—

Démarrage avec re

import re

Le module re fait partie de la bibliothèque standard de Python et ne nécessite aucune dépendance externe. Cas d'usage courants :

Exemple 1 : \w+ et ^

En les utilisant, on peut capturer le premier mot d'une chaîne :

import re
sample = "guru99, education is fun"
result = re.findall(r"^\w+", sample)
print(result) # Output: ['guru99']

Enlever le + ne retournerait que le premier caractère : ["g"].

Exemple 2 : Séparation sur Espace Blanc avec \s

La fonction re.split() peut diviser une chaîne où un motif correspond. Utiliser \s sépare sur tout caractère d'espace blanc.

import re
text = "we are splitting the words"
print(re.split(r"\s", text)) # ['we', 'are', 'splitting', 'the', 'words']

Si le backslash est omis, s est traité comme littéral, résultant en séparations à chaque caractère s.

Vue d'Ensemble des Méthodes Regex

Utilisation de re.match()

import re
text = "guru99 is a great platform"
match = re.match(r"^\w+", text)
print(match.group() if match else "Pas de correspondance") # Output: guru99

Utilisation de re.search()

import re
text = "Software Testing is fun"
for pattern in ["Software testing", "guru99"]:
    found = re.search(pattern, text, re.IGNORECASE)
    print(f"Recherche de '{pattern}' dans '{text}' - {'trouvé !' if found else 'pas de correspondance'}")

Utilisation de re.findall()

import re
emails = "guru99@google.com, careerguru99@hotmail.com, users@yahoomail.com"
found = re.findall(r"[\w\.-]+@[\w\.-]+", emails)
for e in found:
    print(e)

Drapeaux (Flags) Regex

Les drapeaux modifient le comportement du motif. Drapeaux courants :

DrapeauDescription
re.M (re.MULTILINE)Fait correspondre ^ et $ au début et fin de chaque ligne.
re.I (re.IGNORECASE)Ignore les distinctions de casse.
re.S (re.DOTALL)Fait correspondre le point aux nouvelles lignes.
re.U (re.UNICODE)Applique des classes de caractères conscientes d'Unicode.
re.L (re.LOCALE)Fait dépendre les classes de la locale courante.
re.X (re.VERBOSE)Permet espaces et commentaires dans le motif.

Exemple Multiligne

import re
text = """guru99
careerguru99
selenium"""
print(re.findall(r"^\w", text)) # ['g']
print(re.findall(r"^\w", text, re.MULTILINE)) # ['g', 'c', 's']

Compatibilité Python 2

Tous les exemples ci-dessus sont écrits pour Python 3. Si vous devez les exécuter sous Python 2, remplacez les instructions print() par la syntaxe Python 2 et assurez-vous que le module re est importé de la même façon.

À Retenir

Maîtriser les regex Python vous donne une boîte à outils puissante pour le traitement de texte :

Python

  1. Maîtriser la méthode strip() de Python : Guide complet et exemples pratiques
  2. Maîtriser str.count() de Python : Compter caractères et sous-chaînes avec exemples
  3. Maîtriser les chaînes format() en Python avec exemples clairs
  4. Python len() : Guide pratique pour mesurer la longueur des objets
  5. Maîtriser la méthode String.find() de Python : Syntaxe, Exemples et Alternatives
  6. Fonction Python round() expliquée avec exemples pratiques
  7. Maîtriser la fonction Python map() : syntaxe, exemples et bonnes pratiques
  8. Python timeit() : mesurer le temps d'exécution avec exemples pratiques
  9. Python Counter dans collections : comptage efficace, mise à jour et opérations arithmétiques