الفرق بين المراجعتين لصفحة: «JavaScript/RegExp/lastIndex»
< JavaScript | RegExp
لا ملخص تعديل |
ط استبدال النص - '\[\[تصنيف:(.*)\]\]' ب'{{SUBPAGENAME}}' |
||
سطر 60: | سطر 60: | ||
* معيار [http://www.ecma-international.org/ecma-262/5.1/#sec-15.10.7.5 ECMAScript 5.1]. | * معيار [http://www.ecma-international.org/ecma-262/5.1/#sec-15.10.7.5 ECMAScript 5.1]. | ||
* معيار [http://www.ecma-international.org/publications/files/ECMA-ST-ARCH/ECMA-262,%203rd%20edition,%20December%201999.pdf ECMAScript 3rd Edition] . | * معيار [http://www.ecma-international.org/publications/files/ECMA-ST-ARCH/ECMA-262,%203rd%20edition,%20December%201999.pdf ECMAScript 3rd Edition] . | ||
[[تصنيف:JavaScript]] | [[تصنيف:JavaScript|{{SUBPAGENAME}}]] | ||
[[تصنيف:JavaScript Global Objects]] | [[تصنيف:JavaScript Global Objects|{{SUBPAGENAME}}]] | ||
[[تصنيف:JavaScript RegExp]] | [[تصنيف:JavaScript RegExp|{{SUBPAGENAME}}]] |
المراجعة الحالية بتاريخ 15:36، 28 يناير 2018
الخاصية 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 .