انتقل إلى المحتوى الرئيسيانتقل إلى الحاسبة
108 آلة حاسبةنتائج مباشرةحلول خطوة بخطوة

أداة Rechnerpilot

مختبِر Regex

يُنفَّذ الـ RegExp بشكل معزول في Web Worker مقابل نص الاختبار؛ وتُعرض النتائج والمجموعات.

أدوات المطورين

التنفيذ المعزول غير متاح في هذه البيئة. يتطلب مختبِر regex دعم Web Worker في المتصفح.

الشرح

كيف يعمل مختبِر 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).

التطبيق

أمثلة عملية

فحص البريد الإلكتروني بشكل تقريبي

النمط \S+@\S+\.\S+ يجد سلاسل أحرف بسيطة تشبه البريد الإلكتروني.

استخراج الأرقام

مع العلم g يعطي \d+ كل تسلسلات الأرقام في النص.

استخدام المجموعات

تلتقط الأقواس الدائرية النتائج الجزئية التي تُعرض بشكل منفصل.

الأسئلة الشائعة

الأسئلة المتكررة

لماذا لا تتجمّد الصفحة؟

يجري تقييم التعبير النمطي في Web Worker منفصل. إذا تعطّل نمط ما بسبب backtracking كارثي، تبقى واجهة الاستخدام قادرة على الاستجابة؛ ويُوقَف الـ worker بشكل قسري بعد فترة قصيرة.

ما هو الـ backtracking الكارثي؟

يمكن لأنماط معينة (مثل المُكمِّمات المتداخلة كـ (a+)+) أن تتطلب عددًا أسيًّا من الخطوات مع مدخلات غير مواتية. تُوقِف هذه الأداة مثل هذه العمليات بشكل حتمي بدلًا من أن تتعطّل.

هل تُنقل بياناتي؟

لا. يُقيَّم النمط ونص الاختبار حصريًا محليًا في المتصفح (داخل الـ worker). ولا يحدث أي نقل.

ما البنية المدعومة؟

بنية التعبير النمطي الخاصة بـ JavaScript (ECMAScript). قد تختلف اللهجات الأخرى (PCRE، .NET).

لماذا لا تُعرض كل النتائج؟

للحماية من المخرجات الكبيرة جدًا، يُقيَّم حد أقصى 1000 نتيجة؛ وتُدرج أول 100، وفي تصدير PDF أول 50. عند بلوغ حد التقييم تظهر ملاحظة.

نصائح

معلومات مفيدة

  • فعّل العلم g لعرض كل النتائج.
  • تجنّب المُكمِّمات المتداخلة مثل (a+)+ — فقد تتسبب في التعطّل.
  • يجري التقييم بشكل معزول؛ ولا تتجمّد الصفحة.

آلات حاسبة ذات صلة

أدوات أخرى