أدوات صيانة خريطة Regex

لدعم وظيفة البحث السريع (الأمر 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', ...)
             ## البرنامج النصي لـ Tagger (`map_tagger.py`)

نحن نقدم برنامج Python النصي الذي يقوم بمسح جميع ملفات FUZZY_MAP.py وFUZZY_MAP_pre.py ويقوم بإنشاء هذه الأمثلة تلقائيًا.

                                                           ### تثبيت

يتطلب البرنامج النصي مكتبة exrex لإنشاء مطابقات عشوائية للتعبيرات المنطقية المعقدة.

pip install exrex
                                                   ### الاستخدام
قم بتشغيل البرنامج النصي من جذر المشروع:
python3 tools/map_tagger.py
                                                    ### سير العمل
  1. إنشاء أو تحرير ملف خريطة (على سبيل المثال، إضافة قواعد جديدة). 2. تشغيل البرنامج النصي لعلامة التمييز. 3. الوضع التفاعلي:

  • سيظهر لك البرنامج النصي اقتراحًا تم إنشاؤه. - اضغط على “ENTER” لقبوله. - اكتب s للتخطي.

  • اكتب sa (تخطي الكل) إذا كنت تريد تخطي كافة الأنماط المتبقية التي تفشل في الإنشاء. 4. الالتزام بالتغييرات.

ملاحظة: يتجاهل البرنامج النصي علامات # EXAMPLE: الموجودة، لذا فهو آمن للتشغيل بشكل متكرر.