RegExp.lastMatch ($&)
Deprecated
Avoid using this feature in new projects.
The RegExp static properties may have unintended side effects.
This feature may be a candidate for removal from web standards or browsers.>
Hinweis:
Alle RegExp-statischen Eigenschaften, die den letzten Übereinstimmungsstatus global freigeben, sind veraltet. Weitere Informationen finden Sie unter veraltete RegExp-Funktionen.
Die statische Zugriffs-Eigenschaft RegExp.lastMatch gibt die zuletzt übereinstimmende Teilzeichenfolge zurück. RegExp["$&"] ist ein Alias für diese Eigenschaft.
Beschreibung
Da lastMatch eine statische Eigenschaft von RegExp ist, verwenden Sie sie immer als RegExp.lastMatch oder RegExp["$&"], anstatt als Eigenschaft eines von Ihnen erstellten RegExp-Objekts.
Der Wert von lastMatch aktualisiert sich, wann immer eine RegExp-Instanz (aber keine RegExp-Unterklasse) einen erfolgreichen Abgleich durchführt. Wenn keine Übereinstimmungen gefunden wurden, ist lastMatch eine leere Zeichenfolge. Der Set-Accessor von lastMatch ist undefined, daher können Sie diese Eigenschaft nicht direkt ändern.
Sie können den Kurzform-Alias nicht mit dem Punkt-Zugriffsoperator verwenden (RegExp.$&), da & kein gültiger Bezeichnerteil ist, was zu einem SyntaxError führt. Verwenden Sie stattdessen die Klammernotation.
$& kann auch in der Ersetzungszeichenfolge von String.prototype.replace() verwendet werden, aber das ist nicht mit der RegExp["$&"] Legacy-Eigenschaft verbunden.
Beispiele
>Verwendung von lastMatch und $&
const re = /hi/g;
re.test("hi there!");
RegExp.lastMatch; // "hi"
RegExp["$&"]; // "hi"
Spezifikationen
| Spezifikation |
|---|
| Legacy RegExp features> # additional-properties-of-the-regexp-constructor> |