RegExp.prototype.source
< JavaScript | RegExp
الخاصية RegExp.prototype.source
تُعيد سلسلةً نصيةً String
تحتوي على النص المصدري للتعبير النمطي، لكن دون الخطين المائلين اللذين يحيطان به، ودون أيّة رايات.
سمات الخاصية RegExp.prototype.source | |
---|---|
قابلة للكتابة | لا |
قابلة للإحصاء | لا |
قابلة للضبط | نعم |
أمثلة
استخدام الخاصية source
مثال عن استخدام الخاصية source
للحصول على التعبير النمطي المستخدم. لاحظ أنَّ الناتج لا يحتوي على الخطين المائلين ولا على الرايتين "ig
":
var regex = /fooBar/ig;
console.log(regex.source); // "fooBar"
التعابير النمطية الفارغة وتهريب المحارف
بدءًا من ECMAScript 5، لم تعد الخاصية source
تُعيد سلسلةً نصيةً فارغةً للتعابير النمطية الفارغة، وإنما أصبحت تعيد "(?:)
"؛ إضافةً إلى ذلك، أصبحت محارف الانتقال إلى سطرٍ جديد (مثل "\n
") مهربةً الآن:
new RegExp().source; // "(?:)"
new RegExp('\n').source === '\n'; // true. قبل الإصدار الخامس
new RegExp('\n').source === '\\n'; // true. بدءًا من الإصدار الخامس
دعم المتصفحات
الميزة | Chrome | Firefox | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
الدعم الأساسي | نعم | نعم | نعم | نعم | نعم |
مصادر ومواصفات
- مسودة المعيار ECMAScript Latest Draft.
- معيار ECMAScript 2015 (6th Edition).
- معيار ECMAScript 5.1. الخاصية source عند استخدامها مع التعابير النمطية الفارغة أصبحت تعيد "
(?:)
"؛ وتغيّرت طريقة تهريب بعض المحارف. - معيار ECMAScript 3rd Edition.