مختبر ومطابق التعبيرات النمطية (RegEx Tester)

اختبار وتجربة التعابير النمطية Regular Expressions مع تمييز التطابقات في الوقت الفعلي.

مختبر ومطابق التعبيرات النمطية (RegEx Tester)

اختبار وتجربة التعابير النمطية Regular Expressions مع تمييز التطابقات في الوقت الفعلي.

كيف يعمل

1
أدخل النص أو الكود
اكتب أو الصق النص أو الكود أو البيانات مباشرة في مساحة الإدخال.
2
طبق المعالجة
شغل الأداة لتحويل النص أو تصفيته أو تنسيقه أو فحصه.
3
انسخ النتيجة
انسخ المخرجات المعالجة إلى الحافظة بنقرة واحدة.
مركز المفاهيم والمعرفة

مختبر وفاحص التعبيرات النمطية (RegEx Tester) وتصحيح مطابقة النصوص

تُعد التعبيرات النمطية (Regular Expressions - RegEx) إحدى أقوى الأدوات في ترسانة المبرمج لمطابقة الأنماط النصية المعقدة، والتحقق من صحة مدخلات النماذج، واستخراج البيانات الدقيقة. يوفر هذا المختبر البرمجي التفاعلي بيئة فورية لاختبار وتدقيق تعابير RegEx البرمجية ضد نصوص تجريبية متنوعة، مع تلوين بصري فوري للمطابقات الناجحة وعزل مجموعات الالتقاط (Capture Groups) بدقة متناهية.

يدعم المحرك كافة المؤشرات والرايات القياسية (Flags) المعيارية في لغة جافا سكريبت؛ بما فيها المطابقة الشاملة /g، وتجاهل حالة الأحرف /i، وتعدد الأسطر /m، ونمط النقطة الشاملة /s، ونمط اليونيكود /u. على سبيل المثال، عند اختبار نمط التحقق من البريد الإلكتروني المعياري ^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$ على كتلة نصية تحتوي على عناوين بريد صالحة وتالفة، تبرز الأداة فورياً العناوين المطابقة مع توضيح مواقع فهارس البداية والنهاية (Match Offsets) لكل نتيجة.

يتضمن المختبر آليات حماية صارمة لمنع تجمد المتصفح الناتج عن أنماط التراجع الكارثي المعقدة (Catastrophic Backtracking)، مما يمنحك منصة موثوقة وآمنة لتطوير واختبار خوارزميات الفرز النصي دون إرسال بياناتك لخوادم وسيطة.

دليل تقني مفصل

لماذا لا تتطابق التعبيرات النمطية (Regex)؟ الأعلام، فواصل الأسطر، ومحارف الهروب

حل مشكلات عدم تطابق التعبيرات النمطية. فهم أعلام g و i و m و s، ومحددات البداية والنهاية للأسطر المتعددة، والمحددات الجشعة والكسولة، وتجنب ثغرات ReDoS.

اقرأ الدليل الكامل →

البنية الأساسية والمعادلة الرياضية

التقييم النمطي: RegExp(pattern, flags).exec(string) ➔ Match Array [Full Match, Group 1, Group 2...] ➔ Highlighting Engine

تُحدد الفهارس الزمنية لمواقع البداية والنهاية في مصفوفة النص، ويتم استبدال الرموز المحجوزة بتظليلات CSS تفاعلية مع حماية ضد الحلقات اللانهائية.

أفضل الممارسات والإرشادات الأساسية

  • الحذر الشديد من التراجع الكارثي (Catastrophic Backtracking): تجنب تداخل الكميات المتكررة مثل (a+)+ لأنها قد تسبب تجمد المعالج عند إدخال نصوص طويلة غير مطابقة.
  • استخدام المجموعات غير الملتقطة (Non-Capturing Groups): إذا كنت تستخدم الأقواس للتنظيم المنطقي فقط دون الحاجة لاستخراج القيمة، استخدم (?:pattern) لتوفير الذاكرة.
  • تحديد بدايات ونهايات السلاسل بدقة: استخدم المثبتات (Anchors) كرمز البداية (^) ورمز النهاية ($) عند التحقق من مدخلات النماذج كأرقام الهواتف لمنع الاختراقات الجزئية.
  • الاستفادة من التكرار غير الجشع (Lazy / Non-Greedy Matching): أضف علامة الاستفهام بعد علامات التكرار (مثل .*?) لإيقاف المطابقة عند أقرب محرف إغلاق بدلاً من التهام كامل السطر.

الأسئلة الشائعة والأجوبة (FAQ)

ما هو الفارق بين المجموعات الملتقطة (Capturing) وغير الملتقطة (Non-Capturing)؟
المجموعة الملتقطة (abc) تخزن النص المطابق في الذاكرة لتتمكن من استخراجه كمتغير مستقل، بينما (?:abc) تطبق الشرط دون استنزاف الذاكرة في تخزين النتيجة.
لماذا يعمل تعبير نمطي معين بنجاح في Python أو PHP ويفشل في محرك المتصفح؟
لأن محرك جافا سكريبت يتبع مواصفة ECMAScript التي قد تختلف في بعض الميزات المتقدمة (مثل بعض أنواع Lookbehind المعقدة ومحددات الحيازة) المدعومة في مكتبات PCRE.
ماذا تفعل راية البحث الشامل (g flag) وراية تجاهل الحالة (i flag)؟
الراية /g تجعل المحرك يبحث عن كافة المطابقات في النص بدلاً من التوقف عند أول مطابقة، والراية /i تجعل المطابقة تتجاهل الفارق بين الحروف الكبيرة والصغيرة.
هل يمكنني اختبار مطابقة النصوص العربية ومتغيرات الحركات والتشكيل؟
نعم؛ تدعم الأداة راية اليونيكود /u ونطاقات المحارف العربية مثل [\u0600-\u06FF] لمطابقة الكلمات العربية وتصفية علامات التشكيل بدقة تامة.