정규식 고급 패턴
명명된 그룹, 예측 및 퍼지 일치.
개요
regex 패키지는 Python 내장 re를 대체하는 역할을 합니다.
이는 퍼지 조회 트리와 격리된 명명된 그룹화 사전을 광범위하게 지원합니다.
코드 및 실행 출력
보안 로그 레이아웃을 구문 분석하고 1개의 대체 퍼지 일치를 수행합니다.
fuzzy.py
에디터에서 사용해 보세요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()}")터미널 출력
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)단계별 구현
- 정규식 구문 분석 텍스트 데이터
- 퍼지 로그 스크래핑
- 문자열 정규화 패턴