regex

Parsing

Zaawansowany silnik wyrażeń regularnych

Przegląd regex

Moduł regex to zamiennik wbudowanego modułu re Pythona, oferujący dodatkowe funkcje, w tym dopasowywanie rozmyte (przybliżone dopasowywanie ciągów), wyszukiwanie wstecz o zmiennej szerokości, nazwane grupy przechwytywania z powtarzającymi się przechwytywaniami, klasy znaków POSIX i grupowanie atomowe.

wyrażenie regularne jest dostępne wPyRunpoprzez micropip. Jest to szczególnie przydatne, gdy trzeba dopasować wzorce z niewielkimi literówkami (dopasowanie rozmyte), pracować ze złożonym tekstem Unicode lub użyć funkcji wyrażeń regularnych, które nie są obsługiwane w standardowym module re.

Dane wyjściowe kodu i wykonania

Nazwane grupy przechwytywania i rozmyte dopasowywanie wzorców.

Regex: Named Groups & FuzzyUruchom w Edytorze
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()}")

Powiązane pakiety

Polecane zasoby Pythona

Poszerzaj swoją wiedzę dzięki powiązanym interaktywnym samouczkom, ściągawkom i porównaniom kodów.