RegExp.lastIndex
< JavaScript | RegExp
اذهب إلى التنقل
اذهب إلى البحث
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
الخاصية 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 .