regex

Parsing

Motore regex avanzato

Panoramica regex

Il modulo regex è un sostituto immediato del modulo re integrato di Python, offrendo funzionalità aggiuntive tra cui corrispondenza fuzzy (corrispondenza approssimativa delle stringhe), lookbehind a larghezza variabile, gruppi di cattura denominati con catture ripetute, classi di caratteri POSIX e raggruppamento atomico.

regex è disponibile inPyRuntramite micropip. È particolarmente utile quando è necessario far corrispondere modelli con lievi errori di battitura (corrispondenza fuzzy), lavorare con testo Unicode complesso o utilizzare funzionalità regex che non sono supportate nel modulo re standard.

Codice e output di esecuzione

Gruppi di acquisizione denominati e corrispondenza di modelli fuzzy.

Regex: Named Groups & FuzzyEsegui nell'editor
import 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+) \[(?P<module>\w+)\] (?P<message>.+)"
m = regex.match(pattern, log)
if m:
    for k, v in m.groupdict().items():
        print(f"  {k:<10}: {v}")

# Fuzzy matching — find 'colour' with up to 1 error
print("\nFuzzy search (≤1 substitution):")
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()}")

Pacchetti correlati

Risorse Python consigliate

Espandi le tue conoscenze con tutorial interattivi, foglietti illustrativi e confronti di codici correlati.