Modèles avancés Regex
Groupes nommés, anticipations et correspondance floue.
Aperçu
Le package regex agit comme un remplacement immédiat des pythons intégrés.
Cela prend largement en charge les arbres de recherche flous et les dictionnaires de regroupement nommés isolés prêts à l'emploi.
Sortie de code et d'exécution
Analyse une présentation de journal de sécurité et effectue une correspondance floue de substitution.
fuzzy.py
Essayez dans l'éditeurimport regex
# Named capture groups — parse a log line
log = "2025-07-04 14:32:01 ERROR [auth] Login failed for user@example.com"
pattern = r"(?P<date>\d{4}-\d{2}-\d{2}) (?P<time>\d{2}:\d{2}:\d{2}) (?P<level>\w+)\s+\[(?P<module>\w+)\] (?P<message>.+)"
m = regex.match(pattern, log)
if m:
print("Match Breakdown:")
for k, v in m.groupdict().items():
print(f" {k:<10}: {v}")
# Fuzzy matching (allows 1 substitution)
print("\nFuzzy search for 'colour' (≤1 error):")
text = "I prefer colour and cilor and colouur"
for hit in regex.finditer(r"(?:colour){s<=1}", text):
print(f" found '{hit.group()}' at {hit.span()}")Sortie terminale
Match Breakdown:
date : 2025-07-04
time : 14:32:01
level : ERROR
module : auth
message : Login failed for user@example.com
Fuzzy search for 'colour' (≤1 error):
found 'colour' at (9, 15)
found 'colouur' at (30, 37)Mise en œuvre étape par étape
- Regex analysant les données texte
- Grattage de journaux flous
- Modèles de normalisation de chaînes