RegExp.prototype.source - JavaScript | MDN
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 source Accessor-Eigenschaft von RegExp Instanzen gibt einen String zurück, der den Quelltext dieses regulären Ausdrucks enthält, ohne die beiden Schrägstriche auf beiden Seiten oder irgendeine Flags.
Probieren Sie es aus
const regex = /fooBar/gi;
console.log(regex.source);
// Expected output: "fooBar"
console.log(new RegExp().source);
// Expected output: "(?:)"
console.log(new RegExp("\n").source === "\\n");
// Expected output: true (starting with ES5)
// Due to escaping
Beschreibung
Konzeptionell ist die source-Eigenschaft der Text zwischen den beiden Schrägstrichen im regulären Ausdruck Literal. Die Sprache verlangt, dass der zurückgegebene String ordnungsgemäß maskiert ist, sodass, wenn die source mit einem Schrägstrich an beiden Enden zusammengefügt wird, ein analysierbares Regex-Literal entsteht. Zum Beispiel, für new RegExp("/"), ist die source \\/, weil, wenn es / erzeugt, das resultierende Literal /// wird, was ein Zeilenkommentar ist. Ebenso werden alle Zeilentrenner maskiert, da Zeilentrenner-Zeichen das Regex-Literal unterbrechen würden. Es gibt keine Anforderungen für andere Zeichen, solange das Ergebnis analysierbar ist. Für leere reguläre Ausdrücke wird der String (?:) zurückgegeben.
Beispiele
Verwendung von source
js
const regex = /fooBar/gi;
console.log(regex.source); // "fooBar", doesn't contain /.../ and "gi".
Leere reguläre Ausdrücke und Maskierung
js
new RegExp().source; // "(?:)"
new RegExp("\n").source === "\\n"; // true, starting with ES5
Spezifikationen
| Spezifikation |
|---|
| ECMAScript® 2026 Language Specification # sec-get-regexp.prototype.source |
Browser-Kompatibilität
Siehe auch
Help improve MDN
Erfahren Sie, wie Sie beitragen können Diese Seite wurde automatisch aus dem Englischen übersetzt.