Pola Lanjutan Regex

Grup bernama, pandangan ke depan, dan pencocokan fuzzy.

Coba di Editor

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.

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+)\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

Pertanyaan yang Sering Diajukan

Topik Terkait