Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten.Erfahre mehr über dieses Experiment.
RegExp.prototype.source
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since Juli 2015.
Diesource Accessor-Eigenschaft vonRegExp 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.
In diesem Artikel
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 escapingBeschreibung
Konzeptionell ist diesource-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 diesource mit einem Schrägstrich an beiden Enden zusammengefügt wird, ein analysierbares Regex-Literal entsteht. Zum Beispiel, fürnew RegExp("/"), ist diesource\\/, weil, wenn es/ erzeugt, das resultierende Literal/// wird, was ein Zeilenkommentar ist. Ebenso werden alleZeilentrenner 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
const regex = /fooBar/gi;console.log(regex.source); // "fooBar", doesn't contain /.../ and "gi".Leere reguläre Ausdrücke und Maskierung
new RegExp().source; // "(?:)"new RegExp("\n").source === "\\n"; // true, starting with ES5Spezifikationen
| Specification |
|---|
| ECMAScript® 2026 Language Specification> # sec-get-regexp.prototype.source> |