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 statischen Eigenschaften von RegExp, die den letzten Übereinstimmungszustand global exponieren, sind veraltet. Weitere Informationen finden Sie unter veraltete RegExp-Features.
Die statische Zugriffseigenschaft RegExp.lastMatch gibt die zuletzt übereinstimmende Teilzeichenkette 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 eine Eigenschaft eines von Ihnen erstellten RegExp-Objekts.
Der Wert von lastMatch wird jedes Mal aktualisiert, wenn eine RegExp-Instanz (aber nicht eine RegExp-Unterklasse) eine erfolgreiche Übereinstimmung erzielt. Wenn keine Übereinstimmungen erzielt wurden, ist lastMatch ein leerer String. 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-Eigenschaft-Zugriffsoperator (RegExp.$&) verwenden, da & kein gültiger Identifikator-Teil ist, was zu einem SyntaxError führt. Verwenden Sie stattdessen die Klammernotation.
$& kann auch im Ersetzungsstring von String.prototype.replace() verwendet werden, aber das steht in keinem Zusammenhang mit der veralteten RegExp["$&"]-Eigenschaft.
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> |