--- title: RegExp.prototype.source slug: Web/JavaScript/Reference/Global_Objects/RegExp/source tags: - JavaScript - Property - Prototype - Reference - RegExp - регулярные выражения translation_of: Web/JavaScript/Reference/Global_Objects/RegExp/source ---
{{JSRef("Global_Objects", "RegExp")}}

Сводка

Свойство source возвращает {{jsxref("Global_Objects/String", "строку", "", 1)}}, содержащую текст шаблона регулярного выражения без прямых слешей с обеих сторон и без флагов регулярного выражения.

Примеры

Пример: использование свойства 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 является свойством экземпляра {{jsxref("Global_Objects/RegExp", "RegExp")}}, а не самого объекта {{jsxref("Global_Objects/RegExp", "RegExp")}}.
{{SpecName('ES5.1', '#sec-15.10.7.1', 'RegExp.prototype.source')}} {{Spec2('ES5.1')}}
{{SpecName('ES6', '#sec-get-regexp.prototype.source', 'RegExp.prototype.source')}} {{Spec2('ES6')}} Свойство source теперь является свойством доступа в прототипе объекта, а не собственным свойством данных экземпляра.

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

{{Compat}}

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