정규식 맵 유지 관리 도구

빠른 검색 기능(s 명령 / search_rules.sh)을 지원하기 위해 우리는 사람이 읽을 수 있는 예제로 정규식 패턴에 자동으로 주석을 추가하는 도우미 스크립트를 사용합니다.

이것이 왜 필요한가요?

‘FUZZY_MAP.py’ 파일에는 복잡한 정규 표현식이 포함되어 있습니다. 원시 정규식을 이해할 필요 없이 퍼지 파인더(fzf)를 통해 검색할 수 있도록 패턴 위에 ‘# EXAMPLE:’ 주석을 추가합니다.

전에:

('CreditCard', r'\b(?:\d[ -]*?){13,16}\b', ...)

이후(자동 생성):

# EXAMPLE: 1234-5678-9012-3456
('CreditCard', r'\b(?:\d[ -]*?){13,16}\b', ...)

태거 스크립트(map_tagger.py)

우리는 모든 FUZZY_MAP.pyFUZZY_MAP_pre.py 파일을 스캔하고 이러한 예제를 자동으로 생성하는 Python 스크립트를 제공합니다.

설치

복잡한 정규식에 대한 무작위 일치 항목을 생성하려면 스크립트에 ‘exrex’ 라이브러리가 필요합니다.

pip install exrex

용법

프로젝트 루트에서 스크립트를 실행합니다.

python3 tools/map_tagger.py

작업 흐름

  1. 맵 파일을 생성 또는 편집합니다(예: 새 규칙 추가).

  2. 태거 스크립트를 실행합니다.

  3. 대화형 모드:

  • 스크립트는 생성된 제안을 보여줍니다.

  • ‘ENTER’를 눌러 수락하세요.

  • 건너뛰려면 s를 입력하세요.

  • 생성에 실패한 나머지 패턴을 모두 건너뛰려면 ‘sa’(모두 건너뛰기)를 입력하세요.

  1. 변경 사항을 커밋합니다.

참고: 스크립트는 기존 # EXAMPLE: 태그를 무시하므로 반복적으로 실행해도 안전합니다.