Pola Lanjutan Regex
Grup bernama, pandangan ke depan, dan pencocokan fuzzy.
Ikhtisar
Paket regex bertindak sebagai pengganti python yang ada di dalamnya.
Ini secara ekstensif mendukung pohon pencarian fuzzy dan dikte pengelompokan bernama terisolasi di luar kotak.
Kode & Output Eksekusi
Mengurai tata letak log keamanan dan melakukan 1 pencocokan fuzzy substitusi.
fuzzy.py
Coba di Editorimport 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()}")Keluaran Terminal
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)Implementasi Langkah demi Langkah
- Regex mengurai data teks
- Pengikisan log kabur
- Pola normalisasi string