Baseline Widely available
The toString()
method of RegExp
instances returns a string representing this regular expression.
console.log(new RegExp("a+b+c"));
// Expected output: /a+b+c/
console.log(new RegExp("a+b+c").toString());
// Expected output: "/a+b+c/"
console.log(new RegExp("bar", "g").toString());
// Expected output: "/bar/g"
console.log(new RegExp("\n", "g").toString());
// Expected output (if your browser supports escaping): "/\n/g"
console.log(new RegExp("\\n", "g").toString());
// Expected output: "/\n/g"
Syntax Parameters
None.
Return valueA string representing the given object.
DescriptionThe 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.
In practice, it reads the regex's source
and 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).
The following example displays the string value of a RegExp
object:
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
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.
new RegExp().toString(); // "/(?:)/"
new RegExp("\n").toString() === "/\\n/"; // true
Specifications Browser compatibility See also
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.3