Join MDN and developers like you at Mozilla's View Source conference, 12-14 September in Berlin, Germany. Learn more at https://viewsourceconf.org

The toString() method returns a string representing the regular expression.

Syntax

regexObj.toString();

Return value

A string representing the given object.

Description

The RegExp object overrides the toString() method of the Object object; it does not inherit Object.prototype.toString(). For RegExp objects, the toString() method returns a string representation of the regular expression.

Examples

Using toString()

The following example displays the string value of a RegExp object:

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'

Empty regular expressions and escaping

Starting with ECMAScript 5, an empty regular expression returns the string "/(?:)/" and line terminators such as "\n" are escaped:

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

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

Specifications

Specification Status Comment
ECMAScript 3rd Edition (ECMA-262) Standard Initial definition. Implemented in JavaScript 1.1.
ECMAScript 5.1 (ECMA-262)
The definition of 'RegExp.prototype.toString' in that specification.
Standard Added definition for escaping behavior and "(?:)" for empty regular expressions.
ECMAScript 2015 (6th Edition, ECMA-262)
The definition of 'RegExp.prototype.toString' in that specification.
Standard  
ECMAScript 2017 Draft (ECMA-262)
The definition of 'RegExp.prototype.toString' in that specification.
Draft  

Browser compatibility

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari
Basic support (Yes) (Yes) (Yes) (Yes) (Yes)
Escaping (Yes) 38 (38) (Yes) (Yes) (Yes)
Generic function ? 39 (39) ? ? ?
Feature Android Chrome for Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Basic support (Yes) (Yes) (Yes) (Yes) (Yes) (Yes)
Escaping (Yes) (Yes) 38.0 (38) (Yes) (Yes) (Yes)
Generic function ? ? 39.0 (39) ? ? ?

See also

Document Tags and Contributors

 Contributors to this page: eduardoboucas, fscholz, arai, Mingun, Sheppy, evilpie, Sevenspade, Mgjbot, Maian, Dria
 Last updated by: eduardoboucas,