Mẫu nâng cao của Regex
Các nhóm được đặt tên, cái nhìn và kết hợp mờ.
Tổng quan
Gói biểu thức chính quy hoạt động như một sự thay thế cho gói re.
Điều này hỗ trợ rộng rãi các cây tra cứu mờ và các ký tự nhóm được đặt tên riêng biệt ngay lập tức.
Đầu ra mã & thực thi
Phân tích bố cục nhật ký bảo mật và thực hiện 1 kết hợp mờ thay thế.
fuzzy.py
Thử trong Trình chỉnh sửaimport 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()}")Đầu ra thiết bị đầu cuối
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)Triển khai từng bước
- Regex phân tích dữ liệu văn bản
- Quét nhật ký mờ
- Các mẫu chuẩn hóa chuỗi