RegExp.prototype.source

Сводка

Свойство source возвращает строку, содержащую текст шаблона регулярного выражения без прямых слешей с обеих сторон и без флагов регулярного выражения.

Примеры

Пример: использование свойства source

var regex = /fooBar/ig;

console.log(regex.source); // 'fooBar', не содержит прямые слеши /.../ и флаги 'ig'.

Начиная с ECMAScript 5, свойство source больше не возвращает пустую строку для пустых регулярных выражений. Вместо этого, возвращается строка" (?:)". Кроме того, теперь экранируются символы окончания строк (такие как, "\n").

new RegExp().source; // "(?:)"

new RegExp('\n').source === '\n';  // true, до появления ES5
new RegExp('\n').source === '\\n'; // true, начиная с ES5

Спецификации

Спецификация Статус Комментарии
ECMAScript 3-е издание. Стандарт Изначальное определение. Реализована в JavaScript 1.2.
JavaScript 1.5: свойство source является свойством экземпляра RegExp, а не самого объекта RegExp.
ECMAScript 5.1 (ECMA-262)
Определение 'RegExp.prototype.source' в этой спецификации.
Стандарт
ECMAScript 2015 (6th Edition, ECMA-262)
Определение 'RegExp.prototype.source' в этой спецификации.
Стандарт Свойство source теперь является свойством доступа в прототипе объекта, а не собственным свойством данных экземпляра.

Совместимость с браузерами

BCD tables only load in the browser

Смотрите также