كيفية اختبار التعابير النمطية
إجابة سريعة
استخدم /pattern/.test(text) للتحقق وtext.match(/pattern/g) للمطابقات. الأعلام: g=عالمي، i=غير حساس، m=متعدد الأسطر. استخدم أداة اختبار التعابير النمطية المجانية — مطابقة في الوقت الفعلي في متصفحك.
مقدمة
اختبار التعابير النمطية يتضمن بناء pattern ومطابقته ضد نص. JavaScript توفر RegExp.test() للتحقق من المطابقة وString.match() لاستخراج المطابقات. الأعلام الشائعة: g (عالمي)، i (غير حساس لحالة الأحرف)، m (متعدد الأسطر).
خطوة بخطوة
-
افتح أداة اختبار Regex
انتقل إلى صفحة أداة اختبار Regex. تحتوي الأداة على حقول لنمط التعبير العادي والأعلام ونص الاختبار.
-
أدخل نمط regex الخاص بك
اكتب نمط التعبير العادي الخاص بك (بدون الخطوط المائلة المحيطة). على سبيل المثال، يطابق \d+ رقمًا واحدًا أو أكثر، ويطابق [A-Z]\w+ كلمة كبيرة. تقوم الأداة بتوزيع النمط أثناء الكتابة.
-
تعيين الأعلام
اختر العلامات: g (عام - ابحث عن جميع التطابقات)، i (غير حساس لحالة الأحرف)، m (متعدد الأسطر - ^ و$ يطابق حدود الأسطر)، s (dotall - . يطابق الأسطر الجديدة)، u (unicode). تستخدم معظم الاختبارات g وأحيانًا i.
-
أدخل نص الاختبار الخاص بك
الصق أو اكتب النص الذي تريد اختباره. تطبق الأداة التعبير العادي وتسلط الضوء على جميع المطابقات في النص على الفور.
-
مراجعة المباريات والتقاط المجموعات
تقوم الأداة بإظهار كل تطابق مع موقعه ومحتواه. إذا كان النمط الخاص بك يحتوي على مجموعات التقاط (أقواس)، فسيتم عرض محتوى كل مجموعة. استخدم هذا لتصحيح سبب تطابق النمط (أو عدم تطابقه) كما هو متوقع.
أمثلة
تطابق جميع الأنماط المشابهة للبريد الإلكتروني
مدخل: Pattern: [a-z]+@[a-z]+\.[a-z]+, Flags: gi, Text: 'Contact alice@example.com or Bob@TEST.ORG'
الإخراج: التطابقات: "alice@example.com"، "Bob@TEST.ORG"
استخراج الأرقام مع مجموعات الالتقاط
مدخل: النمط: (\d+)-(\d+)، الأعلام: g، النص: "الطلب 123-456 و789-012"
الإخراج: المباراة 1: '123-456' (المجموعة 1: '123'، المجموعة 2: '456')
المباراة 2: '789-012' (المجموعة 1: '789'، المجموعة 2: '012')
التحقق من صحة تنسيق التاريخ
مدخل: Pattern: ^\d{4}-\d{2}-\d{2}$, Flags: none, Text: '2026-09-02'
الإخراج: المطابقة: '2026-09-02' (مطابقة السلسلة الكاملة)
المشاكل الشائعة
- نسيان الهروب من الأحرف الخاصة - الأحرف مثل .، *، +، ?، ^، $، (، )، [، ]، {، }، |، \ هي أحرف خاصة. استخدم \ للهروب منهم حرفيًا.
- المطابقة الجشعة مقابل المطابقة البطيئة —* و+ جشعة (تطابق قدر الإمكان). يضيف ؟ للمطابقة البطيئة (على سبيل المثال، .*? يطابق أقل قدر ممكن).
- التراجع الكارثي (ReDoS) - قد تستغرق بعض الأنماط ذات محددات الكمية المتداخلة وقتًا هائلاً على مدخلات معينة. اختبر باستخدام مدخلات واقعية وراقب المهلات.
- التثبيت - بدون ^ و$، يتطابق النمط في أي مكان في السلسلة. استخدم ^...$ لمطابقة السلسلة بأكملها.
نصائح
- ابدأ بنمط بسيط وأضف التعقيد بشكل تدريجي - يعد تصحيح أخطاء التعبير العادي المعقد مرة واحدة أمرًا صعبًا للغاية.
- استخدم مجموعات الالتقاط المسماة (؟<name>...) لسهولة القراءة - أسماء المجموعات تجعل الهدف أكثر وضوحًا من المجموعات المرقمة.
- اختبر باستخدام المدخلات المتطابقة وغير المتطابقة للتأكد من عدم تطابق النمط بشكل زائد.
- استخدم أداة اختبار Regex الخاصة بنا للاختبار الفوري والخاص — لا تترك أنماطك ونصوصك متصفحك أبدًا.