Regex Gelişmiş Desenleri

Adlandırılmış gruplar, ileri bakış ve bulanık eşleştirme.

Editör'de deneyin

Genel Bakış

Regex paketi, python'un yerleşik re'sinin yerine bir düşüş görevi görür.

Bu, bulanık arama ağaçlarını ve izole edilmiş adlandırılmış gruplandırma diktelerini kapsamlı bir şekilde destekler.

Kod ve Yürütme Çıkışı

Bir güvenlik günlüğü düzenini ayrıştırır ve 1 ikame bulanık eşleştirme gerçekleştirir.

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()}")
Terminal Çıkışı
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)

Adım Adım Uygulama

  • Regex metin verilerini ayrıştırıyor
  • Bulanık kütük kazıma
  • Dize normalleştirme kalıpları

Sıkça Sorulan Sorular

İlgili Konular