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 July 2015.
Die source
Zugriffs-Eigenschaft von RegExp
Instanzen gibt einen String zurück, der den Quelltext des regulären Ausdrucks enthält, ohne die beiden Schrägstriche auf beiden Seiten oder irgendwelche Flags.
Probieren Sie es aus
Beschreibung
Konzeptionell ist die source
-Eigenschaft der Text zwischen den beiden Schrägstrichen im regulären Ausdrucksliteral. Die Sprache erfordert, dass der zurückgegebene String ordnungsgemäß maskiert ist, sodass, wenn source
mit einem Schrägstrich an beiden Enden verkettet wird, ein auswertbares Regex-Literal gebildet wird. Zum Beispiel für new RegExp("/")
ist die source
\\/
, da, wenn es /
ergibt, das resultierende Literal ///
wird, welches ein Zeilenkommentar ist. Ebenso werden alle Zeilentrenner maskiert, da Zeilentrenner-Zeichen das Regex-Literal unterbrechen würden. Es gibt keine Anforderung für andere Zeichen, solange das Ergebnis auswertbar 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 ES5
Spezifikationen
Specification |
---|
ECMAScript Language Specification # sec-get-regexp.prototype.source |
Browser-Kompatibilität
BCD tables only load in the browser