RegExp.prototype.toString()
toString() メソッドは正規表現を表す文字列を返します。
試してみましょう
構文
regexObj.toString();
返値
呼び出し元のオブジェクトを表す文字列です。
解説
RegExp オブジェクトの toString() メソッドは、 Object オブジェクトのものを上書きします。つまり Object.prototype.toString() を継承しません。 RegExp オブジェクトにおける toString() メソッドは、その正規表現オブジェクトを表す文字列を返します。
例
toString() の使用
以下の例は RegExp オブジェクトの文字列の値を表示します。:
js
var myExp = new RegExp('a+b+c');
console.log(myExp.toString()); // logs '/a+b+c/'
var foo = new RegExp('bar', 'g');
console.log(foo.toString()); // logs '/bar/g'
空の正規表現とエスケープ
ECMAScript 5 以降では、空の正規表現は "/(?:)/" 文字列を返し、"\n" などの行末記号はエスケープされます。
js
new RegExp().toString(); // "/(?:)/"
new RegExp('\n').toString() === '/\n/'; // true, prior to ES5
new RegExp('\n').toString() === '/\\n/'; // true, starting with ES5
仕様書
| Specification |
|---|
| ECMAScript Language Specification # sec-regexp.prototype.tostring |
ブラウザーの互換性
BCD tables only load in the browser