مختبر التعابير النمطية (Regex)

اختبر regex في JavaScript مباشرة بكل الخيارات (g i m s u y d): تطابقات مميزة ومجموعات التقاط ومسماة ومواضع ومعاينة استبدال. عامل محمي من التعليق.

//g

يستخدم محرك التعبيرات النمطية في JavaScript (ECMAScript) الخاص بمتصفحك داخل عامل خلفي (Worker). قد لا تُدعم صيغ PCRE/Python مثل المحدِّدات الاستحواذية أو المعدِّلات المضمنة (?i).

ما هو مختبر التعابير النمطية؟

يختبر تعبيرًا نمطيًا في JavaScript على نصك أثناء الكتابة. تُميَّز التطابقات، ويعرض جدول كل تطابق مع موضعه ومجموعات الالتقاط المرقّمة والمسماة (ومواضع المجموعات مع الخيار d)، وتعرض معاينة استبدال اختيارية نتيجة String.replace. تعمل الأنماط في عامل خلفي يُوقَف بعد 1.5 ثانية، فلا تستطيع الأنماط الكارثية تجميد الصفحة.

كيفية استخدام مختبر التعابير النمطية

  1. أدخل النمط (دون شرطات مائلة) في التعبير النمطي.
  2. فعّل الخيارات (Flags) التي تحتاجها: g وi وm وs وu وy وd.
  3. الصق النص المراد البحث فيه في نص الاختبار – تتحدث التطابقات تلقائيًا.
  4. فعّل استبدال التطابقات بـ… واكتب نص استبدال (مع $1 و$<name> و$& …) لمعاينة النتيجة.

مثال

الإدخال
Pattern (?<y>\d{4})-(\d{2}) with flags g, text "a 2024-05 b 1999-12", replacement $2/$<y>
الإخراج
2 match(es) · replaced: a 05/2024 b 12/1999

متى تستخدم مختبر التعابير النمطية

استخدمه لبناء وتصحيح regex في JavaScript وTypeScript وNode.js ولقواعد التحقق والبحث والاستبدال. تختلف المحركات الأخرى (PCRE وPython وJava وNET. وPOSIX) في الصيغة والميزات – فمثلًا المحدِّدات الاستحواذية والمعدّلات المضمّنة مثل (?i) ومرتكزات \A/\Z غير متاحة – فاختبر هناك أيضًا إذا كانت هي هدفك.

كيف يعمل مختبر التعابير النمطية

يُترجَم النمط بـ new RegExp(pattern, flags) داخل Web Worker. مع g أو y تدور الأداة على exec() وتجمع حتى 1,000 تطابق (تتقدم التطابقات الفارغة بنقطة ترميز واحدة لتجنب الحلقات اللانهائية)؛ وبدونهما يُبلَّغ عن أول تطابق فقط تمامًا كما في JavaScript. يسجّل كل تطابق فهرس بدايته ونهايته ومجموعات الالتقاط والمجموعات المسماة، ومع الخيار d قيم indices لكل مجموعة. وتشغّل معاينة الاستبدال text.replace(regex, replacement). إذا لم يجب العامل خلال 1,500 مللي ثانية يُنهى وتظهر رسالة مهلة.

حالات الاستخدام الشائعة

  • تصحيح نمط تحقق لمدخلات نموذج
  • استخراج بيانات بمجموعات التقاط مسماة
  • معاينة بحث واستبدال قبل تشغيله على ملفات
  • تعلم كيف تغيّر خيارات مثل m وs وu المطابقة
  • فحص نمط بحثًا عن التراجع الكارثي

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

لماذا يجد regex الخاص بي أول تطابق فقط؟

من دون الخيار g (الشامل) يتوقف JavaScript بعد أول تطابق. فعّل g لسرد كل التطابقات.

ماذا يفعل الخيار d؟

يضيف indices إلى كل تطابق، فيعطي موضع بداية ونهاية كل مجموعة التقاط. وتعرضها الأداة بجوار كل مجموعة.

ماذا يحدث مع نمط كارثي مثل (a+)+$؟

يُنهى العامل الذي يشغّله بعد 1.5 ثانية وتظهر رسالة مهلة بدل تبويب مجمّد.

هل هو متوافق مع PCRE أو regex في Python؟

في الصيغة الأساسية غالبًا، لكن ليس كليًا. يستخدم محرك ECMAScript في متصفحك.

استكشف المزيد من الفئات