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 .