ما الذي تفعله الأداة
يتيح لك مختبر التعابير النمطية كتابة تعبير نمطي ورؤية ما يطابقه بالضبط في نص العينة أثناء الكتابة. تُميَّز التطابقات في مكانها، وتُدرج كل مجموعة التقاط مع قيمتها وموضعها، ويعرض قالب الاستبدال الاختياري ما ستنتجه String.replace.
طريقة الاستخدام
- الصق النص الذي تريد البحث فيه في نص الاختبار، أو انقر مثال.
- اكتب نمطك في التعبير النمطي في لوحة الخيارات. لا تضف الشرطتين المائلتين المحيطتين.
- فعّل الأعلام التي تحتاجها: g لكل التطابقات، وi لتجاهل حالة الأحرف، وm لجعل
^و$تعمل لكل سطر، وs كي تطابق.الأسطر الجديدة أيضًا، وu لدعم Unicode الكامل. - اقرأ النتيجة: عدد التطابقات، والنص المميَّز، وجدولًا بكل تطابق ومجموعاته. انقر نسخ لنسخ أي قيمة.
- لتجربة استبدال، املأ الاستبدال بـ، مثلًا
$2, $1.
مثال
النمط الافتراضي ([\w.+-]+)@([\w-]+(?:\.[\w-]+)+) يعثر على عناوين البريد الإلكتروني ويلتقط اسم المستخدم والنطاق كلًّا على حدة. ومع الاستبدال $1 at $2 يصبح النص hello@example.com هو hello at example.com.
مرجع سريع
\dرقم،\wحرف كلمة،\sمسافة بيضاء،.أي حرف*صفر أو أكثر،+واحد أو أكثر،?اختياري،{2,5}بين 2 و5[abc]واحد مما بين القوسين،[^abc]لا شيء مما بين القوسين،a|bأحدهما(...)مجموعة التقاط،(?<name>...)مجموعة مسمّاة،(?:...)مجموعة دون التقاط(?=...)نظر إلى الأمام (lookahead)،(?<=...)نظر إلى الخلف (lookbehind)،\bحد كلمة
الأسئلة الشائعة
› ما نكهة التعابير النمطية التي تستخدمها الأداة؟
محرك JavaScript (ECMAScript) المدمج في متصفحك، وهو المحرك نفسه الذي يستخدمه Node.js وDeno وكل المتصفحات. تتشارك معظم الصياغة مع PCRE وPython وJava، لكن بعض الميزات مثل المكمّمات الاستحواذية والتكرار الذاتي غير مدعومة.
› لماذا لا يعثر نمطي إلا على تطابق واحد؟
فعّل العلم «شامل (g)». فبدونه تتوقف JavaScript بعد التطابق الأول.
› كيف أشير إلى المجموعات في نص الاستبدال؟
استخدم $1 و$2… للمجموعات المرقّمة، و$<name> للمجموعات المسمّاة، و$& للتطابق كاملًا، و$$ لعلامة دولار حرفية.
› لماذا لا يطابق ^ و$ عند كل سطر؟
افتراضيًا لا يطابقان إلا بداية النص كله ونهايته. فعّل «متعدد الأسطر (m)» لجعلهما يطابقان عند فواصل الأسطر.
› هل يُرسل نصي إلى أي مكان؟
لا. تجري المطابقة في متصفحك. قد تُجمّد الأنماط البطيئة جدًا (التراجع الكارثي) علامة التبويب، لذا تجنّب المكمّمات المتداخلة مثل (a+)+ على المدخلات الطويلة.