# 正規表現マップメンテナンスツール 高速検索機能 (`s` コマンド / `search_rules.sh`) をサポートするために、人間が読める形式の例で正規表現パターンに自動的に注釈を付けるヘルパー スクリプトを使用します。 ## なぜこれが必要なのでしょうか? `FUZZY_MAP.py` ファイルには複雑な正規表現が含まれています。生の正規表現を理解する必要がなく、ファジー ファインダー (fzf) 経由で検索できるようにするには、パターンの上に `# EXAMPLE:` コメントを追加します。 **前に:** ```python ('CreditCard', r'\b(?:\d[ -]*?){13,16}\b', ...) ``` **後 (自動生成):** ```python # EXAMPLE: 1234-5678-9012-3456 ('CreditCard', r'\b(?:\d[ -]*?){13,16}\b', ...) ``` ## タガー スクリプト (`map_tagger.py`) すべての `FUZZY_MAP.py` および `FUZZY_MAP_pre.py` ファイルをスキャンし、これらのサンプルを自動的に生成する Python スクリプトを提供します。 ### インストール このスクリプトでは、複雑な正規表現に対してランダムな一致を生成するために「exrex」ライブラリが必要です。 ```bash pip install exrex ``` ### 使用法 プロジェクトのルートからスクリプトを実行します。 ```bash python3 tools/map_tagger.py ``` ### ワークフロー 1. マップ ファイルを **作成または編集**します (新しいルールの追加など)。 2. タグ付けスクリプトを**実行**します。 3. **対話型モード:** - スクリプトは生成された提案を表示します。 - 「ENTER」を押して承認します。 - スキップするには「s」と入力します。 - 生成に失敗した残りのパターンをすべてスキップする場合は、「sa」(すべてスキップ)と入力します。 4. 変更を**コミット**します。 > **注意:** スクリプトは既存の `# EXAMPLE:` タグを無視するため、繰り返し実行しても安全です。