RegExp.prototype.toString()
Baseline
Weitgehend verfügbar
Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit Juli 2015 browserübergreifend verfügbar.
Die Methode toString() von RegExp-Instanzen gibt einen String zurück, der diesen regulären Ausdruck repräsentiert.
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: "/\n/g"
console.log(new RegExp("\\n", "g").toString());
// Expected output: "/\n/g"
Syntax
toString()
Parameter
Keine.
Rückgabewert
Ein String, der das angegebene Objekt repräsentiert.
Beschreibung
Das RegExp-Objekt überschreibt die Methode toString() des Object-Objekts; es erbt Object.prototype.toString() nicht. Für RegExp-Objekte gibt die Methode toString() eine String-Darstellung des regulären Ausdrucks zurück.
In der Praxis liest sie die Eigenschaften source und flags des regulären Ausdrucks und gibt einen String der Form /source/flags zurück. Der Rückgabewert von toString() ist garantiert ein gültiges Literal für einen regulären Ausdruck, auch wenn er möglicherweise nicht genau dem ursprünglich angegebenen Text entspricht (beispielsweise können die Flags anders angeordnet sein).
Beispiele
>Verwendung von toString()
Das folgende Beispiel zeigt den String-Wert 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 Escape-Sequenzen
Da toString() auf die Eigenschaft source zugreift, gibt ein leerer regulärer Ausdruck den String "/(?:)/" zurück. Zeilenabschlusszeichen wie \n werden mit Escape-Zeichen versehen. Dadurch ist der Rückgabewert immer ein gültiges Literal für einen regulären Ausdruck.
new RegExp().toString(); // "/(?:)/"
new RegExp("\n").toString() === "/\\n/"; // true
Spezifikationen
| Spezifikation |
|---|
| ECMAScript® 2027 Language Specification> # sec-regexp.prototype.tostring> |