toString() メソッドは正規表現を表す文字列を返します。

構文

regexObj.toString();

戻り値

呼び出し元のオブジェクトを表す文字列です。

説明

その RegExp オブジェクトは Object オブジェクトの toString() メソッドを上書きします。つまり Object.prototype.toString() を継承しません。RegExp オブジェクトにおける toString() メソッドは、その正規表現オブジェクトを表す文字列を返します。

toString() を使う

以下の例は RegExp オブジェクトの文字列の値を表示します。:

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" などの行末記号はエスケープされます。

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

new RegExp('\n').toString() === '/\n/';  // true, prior to ES5
new RegExp('\n').toString() === '/\\n/'; // true, starting with ES5

仕様

仕様書 策定状況 コメント
ECMAScript 3rd Edition (ECMA-262) 標準 初期定義です。JavaScript 1.1 で実装されました。
ECMAScript 5.1 (ECMA-262)
RegExp.prototype.toString の定義
標準 エスケープ動作の定義と空の正規表現の "(?:)" の定義を追加しました。
ECMAScript 2015 (6th Edition, ECMA-262)
RegExp.prototype.toString の定義
標準  
ECMAScript Latest Draft (ECMA-262)
RegExp.prototype.toString の定義
ドラフト  

ブラウザー実装状況

Update compatibility data on GitHub
デスクトップモバイルサーバー
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewAndroid 版 ChromeEdge MobileAndroid 版 FirefoxAndroid 版 OperaiOSのSafariSamsung InternetNode.js
基本対応Chrome 完全対応 ありEdge 完全対応 ありFirefox 完全対応 1IE 完全対応 ありOpera 完全対応 ありSafari 完全対応 ありWebView Android 完全対応 ありChrome Android 完全対応 ありEdge Mobile 完全対応 ありFirefox Android 完全対応 4Opera Android 完全対応 ありSafari iOS 完全対応 ありSamsung Internet Android 完全対応 ありnodejs 完全対応 あり
EscapingChrome 完全対応 ありEdge 完全対応 ありFirefox 完全対応 38IE 完全対応 ありOpera 完全対応 ありSafari 完全対応 ありWebView Android 完全対応 ありChrome Android 完全対応 ありEdge Mobile 完全対応 ありFirefox Android 完全対応 38Opera Android 完全対応 ありSafari iOS 完全対応 ありSamsung Internet Android 完全対応 ありnodejs 完全対応 あり
Generic functionChrome ? Edge ? Firefox 完全対応 39IE ? Opera ? Safari ? WebView Android ? Chrome Android ? Edge Mobile ? Firefox Android 完全対応 39Opera Android ? Safari iOS ? Samsung Internet Android ? nodejs ?

凡例

完全対応  
完全対応
実装状況不明  
実装状況不明

関連情報

ドキュメントのタグと貢献者

このページの貢献者: segayuu, teoli, ethertank, Potappo, Mgjbot
最終更新者: segayuu,