Regex Tester
قم بتطوير وتصحيح تعبيرات عادية مع اختبار مباشر ضد نصك العينة. يُظهر التظليل البصري للمطابقة بالضبط ما يتم مطابقته. افحص مجموعات الالتقاط، واختبر سلاسل الاستبدال، وقم بتبديل جميع أعلام JavaScript Regex. يمنع توقيت التنفيذ البالغ 200 مللي ثانية الأنماط الهاربة من تجميد المتصفح.
ماذا تفعل هذه الأداة؟
يوفر Regex Tester بيئة تفاعلية لتطوير تعبيرات JavaScript العادية. يقدم تظليلًا مباشرًا للمطابقة في النص الاختباري، وفحصًا مفصّلًا لمجموعات الالتقاط (المرقمة $1، $2 والمجموعات المسمّاة)، وجميع أعلام JavaScript Regex (g العالمية، i تجاهل الحروف الكبيرة/الصغيرة، m متعددة الأسطر، s dotAll، u Unicode، y اللزجة)، ووضع الاستبدال لاختبار استبدالات Regex مع مراجع $1، $2. يكتشف الواجهة أخطاء Regex الشائعة وتمنع التراجع الكارثي مع توقيت 200 مللي ثانية لكل تنفيذ.
كيف تعمل
يُعدّ الأداة كائن JavaScript RegExp من سطر النمط والأعلام المحددة. للمطابقة، يستخدم RegExp.prototype.exec() في حلقة للمطابقات العالمية أو تنفيذًا واحدًا للمطابقات غير العالمية. يتم تظليل المطابقات عن طريق حساب مواضع الأحرف في النص. تُستخرج مجموعات الالتقاط من مصفوفة المطابقة (المؤشر 0 هو المطابقة الكاملة، 1+ هي المجموعات). بالنسبة للاستبدال، يُستخدم String.prototype.replace() مع سطر الاستبدال الذي يمكنه الرجوع إلى $& (المطابقة الكاملة)، $1-$99 (مجموعات الالتقاط)، $` (قبل المطابقة)، $' (بعد المطابقة). يقوم كلب الحراسة القائم على setTimeout بإنهاء التنفيذ إذا تجاوز 200 مللي ثانية، مما يحمي من أنماط ReDoS (هجمات حرمان الخدمة بتعبير عادي).
الميزات
- تظليل مباشر للمطابقة في النص الاختباري
- جميع نتائج المطابقة مع سرد مجموعات الالتقاط
- تبديل الأعلام: g، i، m، s، u، y
- وضع الاستبدال: تجربة سلاسل الاستبدال مع $1/$2
- يكتشف الأنماط غير الصالحة مع أخطاء واضحة
- توقيت 200 مللي ثانية يمنع التجميد من الأنماط السيئة
- نطق JavaScript Regex (يدعم ميزات ES2018+)
كيفية الاستخدام
- 1
أدخل نمطك
اكتب نمط Regex بدون شريطين أماميين/خلفيين — فقط جسم النمط. استخدم نطق JavaScript Regex القياسي.
- 2
قم بتبديل الأعلام حسب الحاجة
g للعالمية (إيجاد جميع المطابقات)، i لتجاهل الحروف الكبيرة/الصغيرة، m لـ ^/$ مطابقة بداية/نهاية السطر، s للنقطة مطابقة الأسطر الجديدة، u لـ Unicode، y للمطابقة اللزجة.
- 3
الصق النص الاختباري
أدخل نص عينة يجب أن يطابق (وبعضه لا يجب أن يطابق). يتم تظليل المطابقات مباشرة أثناء التعديل. انقر على أي مطابقة للحصول على التفاصيل.
- 4
راجع المطابقات والمجموعات
يظهر كل مطابقة النص الكامل، والموضع، وجميع مجموعات الالتقاط. استخدم هذا للتحقق من استخراج النمط للبيانات الصحيحة.
- 5
اختبر الاستبدال (اختياري)
انتقل إلى وضع الاستبدال لاختبار أنماط الاستبدال. استخدم $1، $2 لمراجع مجموعات الالتقاط، $& للمطابقة الكاملة.
حالات الاستخدام الشائعة
تطوير النمط
بناء وتحسين أنماط Regex للتحقق من صحة البيانات، والتحليل، والاستخراج، ومعالجة النص قبل إضافتها إلى الكود.
استكشاف أخطاء Regex
عندما يتصرف Regex في كودك بشكل غير متوقع، الصقه هنا مع بيانات عينة لعزل المشكلة.
تخطيط استخراج البيانات
تطوير أنماط لتحليل السجلات، أو استخراج الويب، أو تنظيف البيانات عن طريق اختبارها ضد بيانات عينة حقيقية.
اختبار استراتيجية الاستبدال
اختبار أنماط البحث والاستبدال مع مجموعات الالتقاط قبل تطبيقها على مجموعات بيانات كبيرة أو كود الإنتاج.
نصائح وأفضل الممارسات
- اختبر دائمًا مع الحالات الحدية: السلاسل الفارغة، السلاسل التي لا يجب أن تطابق، والحالات الحدودية
- غالبًا ما يتم تجاهل العلامة 's' (dotAll) — بدونها، النقطة . لا تطابق الأسطر الجديدة، مما يفاجئ العديد من المطورين
- استخدم المجموعات غير الالتقاطية (?:...) عندما لا تحتاج إلى استخراج محتوى المجموعة — فهي أكثر كفاءة
- فئات الأحرف مثل [a-z] داخل JavaScript Regex مع علامة 'u' تتعامل مع Unicode بشكل صحيح؛ بدون 'u'، قد لا تطابق الأحرف غير ASCII