RegExp.prototype.toString()
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
Die toString()
-Methode von RegExp
-Instanzen gibt einen Zeichenfolgenwert zurück, der diesen regulären Ausdruck darstellt.
Probieren Sie es aus
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
toString()
Parameter
Keine.
Rückgabewert
Eine Zeichenfolge, die das gegebene Objekt darstellt.
Beschreibung
Das RegExp
-Objekt überschreibt die toString()
-Methode des Object
-Objekts; es erbt nicht Object.prototype.toString()
. Für RegExp
-Objekte gibt die toString()
-Methode eine Zeichenfolgen-Darstellung des regulären Ausdrucks zurück.
In der Praxis liest sie die source
- und flags
-Eigenschaften des regulären Ausdrucks aus und gibt eine Zeichenfolge in der Form /source/flags
zurück. Der Rückgabewert von toString()
ist garantiert ein analysierbares RegEx-Literal, obwohl es möglicherweise nicht exakt dem ursprünglich angegebenen Text des regulären Ausdrucks entspricht (zum Beispiel können die Flags umgeordnet sein).
Beispiele
Verwendung von toString()
Das folgende Beispiel zeigt den Zeichenfolgenwert eines RegExp
-Objekts:
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'
Leere reguläre Ausdrücke und Escaping
Da toString()
auf die source
-Eigenschaft zugreift, gibt ein leerer regulärer Ausdruck die Zeichenfolge "/(?:)/"
zurück, und Zeilenabschlusszeichen wie \n
werden maskiert. Dadurch ist der zurückgegebene Wert immer ein gültiges RegEx-Literal.
new RegExp().toString(); // "/(?:)/"
new RegExp("\n").toString() === "/\\n/"; // true
Spezifikationen
Specification |
---|
ECMAScript® 2025 Language Specification # sec-regexp.prototype.tostring |