أدوات صيانة خريطة 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
### سير العمل
إنشاء أو تحرير ملف خريطة (على سبيل المثال، إضافة قواعد جديدة). 2. تشغيل البرنامج النصي لعلامة التمييز. 3. الوضع التفاعلي:
سيظهر لك البرنامج النصي اقتراحًا تم إنشاؤه. - اضغط على “ENTER” لقبوله. - اكتب
sللتخطي.اكتب
sa(تخطي الكل) إذا كنت تريد تخطي كافة الأنماط المتبقية التي تفشل في الإنشاء. 4. الالتزام بالتغييرات.
ملاحظة: يتجاهل البرنامج النصي علامات
# EXAMPLE:الموجودة، لذا فهو آمن للتشغيل بشكل متكرر.