DevToys Web Pro iconDevToys Web Proالمدونة
قيّمنا:
جرّب إضافة المتصفح:

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

الإعدادات

النمط

سلسلة الاختبار

  • التطابقات

    أدخل نمطًا لعرض التطابقات

    استبدال

    مرجع

    فئات الأحرف

    .أي حرف باستثناء سطر جديد
    [abc]يطابق a أو b أو c
    [^abc]يطابق أي شيء باستثناء a أو b أو c
    [a-z]نطاق أحرف (من a إلى z)
    \dرقم (0-9)
    \Dغير رقم
    \wحرف كلمة [a-zA-Z0-9_]
    \Wحرف غير كلمة
    \sمسافة بيضاء
    \Sغير مسافة بيضاء

    المراسي

    ^بداية السلسلة/السطر
    $نهاية السلسلة/السطر
    \bحدّ الكلمة
    \Bليس حدّ كلمة

    الأحرف المُهربة

    \tعلامة تبويب
    \nسطر جديد
    \rإرجاع العربة
    \0حرف فارغ
    \xhhحرف سداسي عشري (مثل \xFF)
    \uhhhhحرف يونيكود

    المجموعات والمراجع

    (abc)مجموعة ملتقطة
    (?:abc)مجموعة غير ملتقطة
    (?<name>abc)مجموعة ملتقطة مُسمّاة
    \1مرجع خلفي إلى المجموعة 1
    \k<name>مرجع خلفي إلى مجموعة مُسمّاة

    النظر حول

    (?=abc)نظرة أمامية إيجابية
    (?!abc)نظرة أمامية سلبية
    (?<=abc)نظرة خلفية إيجابية
    (?<!abc)نظرة خلفية سلبية

    المُكمِّمات والتناوب

    a*0 أو أكثر (جشع)
    a+1 أو أكثر (جشع)
    a?0 أو 1 (اختياري)
    a{n}بالضبط n مرة
    a{n,}n مرة أو أكثر
    a{n,m}بين n و m مرة
    a*?0 أو أكثر (كسول)
    a+?1 أو أكثر (كسول)
    a|bيطابق a أو b

    الاستبدال

    $1, $2محتوى المجموعة الملتقطة
    $&التطابق بالكامل
    $`قبل التطابق
    $'بعد التطابق
    $$حرف $ حرفيًا
    التفاصيل التقنية

    كيف يعمل مُختبِر RegEx

    ما الذي تفعله الأداة

    يتيح لك مُختبِر regex اختبار التعابير النمطية مقابل نص تجريبي في الوقت الفعلي. ويعمل كأداة لتصحيح regex والتحقق منه، مما يساعد المطورين على بناء تعبيرات مطابقة الأنماط واختبارها وتحسينها. يستخدم هذا المُختبِر محرك JavaScript RegExp (ECMAScript)، لذا قد تختلف الصياغة عن محركات PCRE أو .NET أو Java. عندما تحتاج إلى اختبار regex عبر الإنترنت، تعرض هذه الأداة جميع المطابقات ومجموعات الالتقاط وعمليات الاستبدال. تدعم الأداة صياغة regex في JavaScript بما في ذلك أعلام JavaScript regex (g, i, m, s, u): الشامل (g)، غير حساس لحالة الأحرف (i)، متعدد الأسطر (m)، dotAll (s)، وunicode (u). كما تميّز المطابقات في سلسلة الاختبار، وتعرض مجموعات الالتقاط، ويمكنها إجراء عمليات البحث والاستبدال لمعاينة كيفية تحويل regex للنص.

    حالات استخدام شائعة للمطورين

    يستخدم المطورون مُختبِرات regex عند بناء أنماط التحقق، أو تحليل ملفات السجلات، أو استخراج البيانات من السلاسل النصية. يساعد اختبار أنماط regexp على تحديد الحالات الحدّية، وتصحيح التعبيرات المعقدة، وفهم كيفية تأثير الأعلام المختلفة على سلوك المطابقة. يستخدم كثير من المطورين مُختبِرات regex للتحقق من عناوين البريد الإلكتروني، وأرقام الهواتف، وعناوين URL، أو غيرها من تنسيقات البيانات المنظمة. تُعد الأداة قيّمة عند العمل على التحقق من النماذج، أو تحليل السجلات، أو مهام معالجة النصوص. كما تساعد مُختبِرات regex عند تعلم التعابير النمطية، إذ تُظهر كيف تطابق الأنماط النص عبر تكرار المطابقة واستخراج المجموعات. عند اختبار regexp مع نص متعدد الأسطر أو أحرف خاصة، تساعد الأداة المطورين على رؤية ما تتم مطابقته بالضبط ولماذا.

    تنسيقات البيانات أو أنواعها أو متغيراتها

    تتعامل مُختبِرات regex مع صياغة التعابير النمطية في JavaScript، والتي تعتمد على regex بأسلوب Perl مع بعض الاختلافات عن محركات regex الأخرى. تدعم الأداة فئات الأحرف مثل \d للأرقام، و\w لأحرف الكلمات، و\s للمسافات البيضاء. كما تتعامل مع المراسي ( ^، $)، والمكررات (*، +، ?)، والتناوب (|). يؤثر علم متعدد الأسطر على كيفية مطابقة ^ و$، بينما يجعل علم dotAll . يطابق أحرف السطر الجديد. إن فهم سلوك السطر الجديد في regex أمر بالغ الأهمية لمعالجة النصوص متعددة الأسطر. على سبيل المثال، اختبار نمط مثل /\d-\d-\d/ مقابل سلسلة رقم هاتف يوضح بالضبط أي الأجزاء تطابق. يعتمد التعامل مع السطر الجديد في regex على الأعلام: النمط ^foo.*bar$ يطابق "foo\nbar" فقط مع علم dotAll (s)، لأن . لا يطابق أسطرًا جديدة افتراضيًا. عند العمل مع أنماط السطر الجديد في regex، استخدم \n لمطابقة أسطر جديدة حرفيًا، أو \r\n لنهايات أسطر Windows.

    المزالق الشائعة والحالات الطرفية

    من الأخطاء الشائعة نسيان أن regex في JavaScript يستخدم الشرطات المائلة للأمام كفواصل، وليس علامات الاقتباس. ومن المشكلات الأخرى سوء فهم تأثير علم الشمول (global) على المطابقة: بدونه تُعاد المطابقة الأولى فقط، لكن معه تُعثر جميع المطابقات. قد يكون التعامل مع السطر الجديد في regex معقدًا: فالحرف . لا يطابق أسطرًا جديدة افتراضيًا ما لم يُستخدم علم dotAll. قد يكون نفي فئة الأحرف باستخدام [^...] مربكًا، إذ يطابق أي حرف غير موجود في الفئة. تتصرف المكررات الجشعة مقابل الكسولة ( * مقابل *?) بشكل مختلف وقد تسبب نتائج غير متوقعة. تُعد تأكيدات التطلع للأمام والتطلع للخلف ( (?=...)، (?&lt;=...)) قوية لكنها قد تكون صعبة التصحيح. ينبغي على المطورين اختبار أنماط regex مع مدخلات متنوعة، بما في ذلك الحالات الحدّية مثل السلاسل الفارغة، والأحرف الخاصة، وأحرف unicode.

    متى تستخدم هذه الأداة بدلًا من الكود

    استخدم مُختبِر regex هذا لتطوير الأنماط بسرعة، أو لتصحيح التعبيرات المعقدة، أو لتعلّم صياغة التعابير النمطية. وهو مثالي لاختبار أنماط regex قبل تنفيذها في الشيفرة، خاصة عند العمل مع صياغة غير مألوفة أو أنماط معقدة. تساعد التغذية الراجعة المرئية على تحديد سبب مطابقة النمط لنص معين أو عدم مطابقته. بالنسبة لشيفرة الإنتاج، استخدم مُختبِرات regex المدمجة في بيئات التطوير (IDEs) أو أطر اختبار الوحدات التي يمكنها التحقق من الأنماط كجزء من مجموعة الاختبارات لديك. تتفوق أدوات المتصفح في التطوير التفاعلي والتعلّم، بينما توفر الحلول المعتمدة على الشيفرة الأتمتة، والتكامل مع خطوط CI/CD، والقدرة على اختبار الأنماط مقابل مجموعات بيانات كبيرة. بالنسبة للتطبيقات المعقدة، يضمن اختبار regex المؤتمت عمل الأنماط بشكل صحيح عبر مدخلات مختلفة وحالات حدّية.