t/Reference/Global_Objects/Object/constructor)
    2. [ ` Object.prototype.__proto__ ` ](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/proto) Deprecated 
  13. Methods 
    1. [ ` Object.prototype.__defineGetter__() ` ](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/__defineGetter__) Deprecated 
    2. [ ` Object.prototype.__defineSetter__() ` ](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/__defineSetter__) Deprecated 
    3. [ ` Object.prototype.__lookupGetter__() ` ](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/__lookupGetter__) Deprecated 
    4. [ ` Object.prototype.__lookupSetter__() ` ](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/__lookupSetter__) Deprecated 
    5. [ ` Object.prototype.hasOwnProperty() ` ](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/hasOwnProperty)
    6. [ ` Object.prototype.isPrototypeOf() ` ](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/isPrototypeOf)
    7. [ ` Object.prototype.propertyIsEnumerable() ` ](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/propertyIsEnumerable)
    8. [ ` Object.prototype.toLocaleString() ` ](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/toLocaleString)
    9. [ ` Object.prototype.toString() ` ](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/toString)
    10. [ ` Object.prototype.valueOf() ` ](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/valueOf)

##  In this article

  * Try it 
  * Syntax 
  * Description 
  * Examples 
  * Specifications 
  * Browser compatibility 
  * See also 

#  RegExp.prototype.toString()

The **` toString() ` ** method of [ ` RegExp ` ](/en-
US/docs/Web/JavaScript/Reference/Global_Objects/RegExp) instances returns a
string representing this regular expression.

##  Try it

##  Syntax

js

    
    
    toString()
    

###  Parameters

None.

###  Return value

A string representing the given object.

##  Description

The [ ` RegExp ` ](/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp)
object overrides the ` toString() ` method of the [ ` Object ` ](/en-
US/docs/Web/JavaScript/Reference/Global_Objects/Object) object; it does not
inherit [ ` Object.prototype.toString() ` ](/en-
US/docs/Web/JavaScript/Reference/Global_Objects/Object/toString) . For [ `
RegExp ` ](/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp)
objects, the ` toString() ` method returns a string representation of the
regular expression.

In practice, it reads the regex's [ ` source ` ](/en-
US/docs/Web/JavaScript/Reference/Global_Objects/RegExp/source) and [ ` flags `
](/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp/flags) properties
and returns a string in the form ` /source/flags ` . The ` toString() ` return
value is guaranteed to be a parsable regex literal, although it may not be the
exact same text as what was originally specified for the regex (for example,
the flags may be reordered).

##  Examples

###  Using toString()

The following example displays the string value of a [ ` RegExp ` ](/en-
US/docs/Web/JavaScript/Reference/Global_Objects/RegExp) object:

js

    
    
    const myExp = new RegExp("a+b+c");
    console.log(myExp.toString()); // '/a+b+c/'
    
    const foo = new RegExp("bar", "g");
    console.log(foo.toString()); // '/bar/g'
    

###  Empty regular expressions and escaping

Since ` toString() ` accesses the [ ` source ` ](/en-
US/docs/Web/JavaScript/Reference/Global_Objects/RegExp/source) property, an
empty regular expression returns the string ` "/(?:)/" ` , and line
terminators such as ` \n ` are escaped. This makes the returned value always a
valid regex literal.

js

    
    
    new RegExp().toString(); // "/(?:)/"
    
    new RegExp("\n").toString() === "/\\n/"; // true
    

##  Specifications

Specification  
---  
[ ECMAScript Language Specification  
#  sec-regexp.prototype.tostring  ](https://tc39.es/ecma262/multipage/text-
processing.html#sec-regexp.prototype.to