RegExp.lastIndex
< JavaScript | RegExp
الخاصية RegExp.lastIndex هي خاصيةٌ عدديةٌ تابعةٌ للكائنات من النوع RegExp وتقبل القراءة والكتابة وتُحدِّد الفهرس الذي ستبدأ منه عملية البحث عن مطابقة.
| سمات الخاصية RegExp.lastIndex | |
|---|---|
| قابلة للكتابة | نعم |
| قابلة للإحصاء | لا |
| قابلة للضبط | لا |
البنية العامة
regExpObj.lastIndex
الوصف
ستُضبَط هذه الخاصية إذا احتوى التعبير النمطي على الراية "g" للإشارة إلى أنَّ البحث سيكون عامًّا في كامل السلسلة النصية، وستُطبَّق القواعد الآتية:
- إذا كانت قيمة
lastIndexأكبر من طول السلسلة النصية، فلن تعمل الدالتانtest()وexec()وبالتالي ستُضبَط قيمةlastIndexإلى0. - إذا كانت قيمة
lastIndexتساوي طول السلسلة النصية، وإذا كان التعبير النمطي يُطابِق سلسلةً نصيةً فارغةً، فسيُطابِق التعبير النمطية السلسلة النصية بدءًا منlastIndex. - إذا كانت قيمة
lastIndexتساوي طول السلسلة النصية وإذا لم يطابق التعبير النمطي السلسلةَ النصية الفارغة، فلن يُطابِق التعبير النمطي المدخلات، وسيُعاد ضبطlastIndexإلى0. - فيما عدا ذلك، ستُضبَط قيمة الخاصية
lastIndexإلى الموضع التالي الذي فيه آخر مُطابَقة للتعبير النمطي.
أمثلة
لتكن لدينا السلسلة المتعاقبة من التعابير البرمجية:
var re = /(hi)?/g;
سيُطابِق هذا النمط:
console.log(re.exec('hi'));
console.log(re.lastIndex);
وسيُعيد ["hi", "hi"] وستكون قيمة lastIndex مساويةً إلى 2.
console.log(re.exec('hi'));
console.log(re.lastIndex);
سيُعيد ["", undefined]، ويكون أوّل عنصر في هذه المصفوفة هو السلسلة النصية المُطابَقة، وهي سلسلة نصية فارغة في هذه الحالة، ذلك لأنَّ قيمة lastIndex كانت 2، وطول السلسلة النصية "hi" هو 2.
دعم المتصفحات
| الميزة | Chrome | Firefox | Internet Explorer | Opera | Safari |
|---|---|---|---|---|---|
| الدعم الأساسي | نعم | نعم | نعم | نعم | نعم |
مصادر ومواصفات
- مسودة المعيار ECMAScript Latest Draft.
- معيار ECMAScript 2015 (6th Edition).
- معيار ECMAScript 5.1.
- معيار ECMAScript 3rd Edition .