Start · Sprachen · JavaScript · Referenz · RegExp.prototype.source

RegExp.prototype.source

Eigenschaft

Die <code>source</code>-Eigenschaft von <code>RegExp</code>-Instanzen gibt den Quelltext des regulären Ausdrucks ohne Schrägstriche und Flags zurück.

Kategorie: method-property

Signatur

RegExp.prototype.source

Beschreibung

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 und ohne jegliche Flags.

Konzeptionell ist die source-Eigenschaft der Text zwischen den beiden Schrägstrichen im Regex-Literal. Die Sprache verlangt, dass der zurückgegebene String korrekt escaped ist, sodass beim Zusammenfügen von source mit einem Schrägstrich auf beiden Seiten ein parsebares Regex-Literal entsteht. Zum Beispiel ist für new RegExp("/") der source-Wert \\/, denn würde er / erzeugen, ergäbe das resultierende Literal ///, was ein Zeilenkommentar ist. Ebenso werden alle line terminators escaped, da line-terminator-Zeichen das Regex-Literal aufbrechen würden. Für andere Zeichen gibt es keine Anforderung, solange das Ergebnis parsebar 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 Escaping

new RegExp().source; // "(?:)"

new RegExp("\n").source === "\\n"; // true, starting with ES5