RegExp.prototype.source
source
プロパティは、正規表現オブジェクトのソーステキストを含む String
を返します。これには、両端の 2 つのスラッシュやフラグは含まれません。
試してみましょう
RegExp.prototype.source のプロパティ属性 |
|
---|---|
書込可能 | 不可 |
列挙可能 | 不可 |
設定可能 | 可 |
例
source の使用
var regex = /fooBar/ig;
console.log(regex.source); // "fooBar", /.../ と "ig" は含まれません。
空の正規表現とエスケープ
ECMAScript 5 から、source
プロパティは空の正規表現に対して空文字を返さなくなりました。代わりに、(?:)
文字列を返します。加えて、 ("\n" のような) 行区切りはエスケープされます。
new RegExp().source; // "(?:)"
new RegExp('\n').source === '\n'; // ES5 以前で、true
new RegExp('\n').source === '\\n'; // ES5 から、true
仕様書
Specification |
---|
ECMAScript Language Specification # sec-get-regexp.prototype.source |
ブラウザーの互換性
BCD tables only load in the browser