الشرح
كيف يعمل مختبِر Regex
يقيّم مختبِر regex تعبيرًا نمطيًا (بنية JavaScript/ECMAScript) مقابل نص اختبار ويعرض النتائج ومواضعها والمجموعات الملتقطة. عبر الأعلام (Flags) تتحكم من بين أمور أخرى في البحث العام (g) وحالة الأحرف (i) والسلوك متعدد الأسطر (m).
مهم للأمان: يمكن لنمط يُدخله المستخدم أن يستمر في الحساب لفترة غير محدودة بسبب "backtracking الكارثي". ولا يحمي منه حدُّ طول المدخلات وحده. لذلك يجري التقييم في Web Worker منفصل؛ فإذا لم يستجب خلال فترة قصيرة، يُوقَف بشكل قسري ويُهمَل. ويبقى الـ thread الرئيسي — ومعه واجهة الاستخدام — قادرًا على الاستجابة في كل الأوقات.
حدود هذه الأداة
- بنية regex الخاصة بـ JavaScript فقط — خصائص PCRE/.NET غير متوفرة.
- تُوقَف الأنماط المُعطِّلة ولا تُصلَح.
- حد أقصى 1000 نتيجة مُقيَّمة (تُدرج أول 100).
المصادر
- ECMAScript Specification: بنية RegExp ودلالاتها.
- OWASP: Regular expression Denial of Service (ReDoS).