فيما يتعلق بمشكلة قسم اختبار السلسلة في التعبيرات العادية ، لدينا عمومًا طريقتان: Test () و Exec (). لن أوضح الفرق بين هاتين الطريقتين. الشيء الرئيسي هو أن Test () إرجاع قيمة منطقية ويعيد exec () مجموعة حرف مطابقة. ومع ذلك ، واجهت اليوم مشكلة. البرنامج بسيط للغاية ، لكن المشكلة في الداخل تجعلني غير قادر على الفهم. لم أجد الإجابات عبر الإنترنت (شخصيا مقارنة).
نسخة الكود كما يلي:
var pattern = new regexp ("Match" ، "IG") ؛
ALERT (pattern.test ("match")) ؛
التنبيه (pattern.exec ("match")) ؛
قيمة التنبيه الأول () صحيحة كما هو متوقع
لكن قيمة الاختبار الثانية لاغية بشكل غير متوقع
لا أعرف ما هو المبدأ حول هذا السؤال ، لأنني لم أر رمز مصدر الوظيفة. إذا كان بإمكان صديق الإشارة إلى ذلك ، فأنا ممتن! !