RegExp.lastMatch ($&)

已棄用:此特性不再推薦。雖然某些瀏覽器可能仍然支援它,但它可能已經從相關的網路標準中刪除,可能正在刪除過程中,或者可能僅為相容性目的而保留。請避免使用它,如果可能,請更新現有程式碼;請參閱本頁底部的相容性表格以指導您的決策。請注意,此特性可能隨時停止工作。

注意:所有暴露全域性最後匹配狀態的 RegExp 靜態屬性都已棄用。有關更多資訊,請參閱 已棄用的 RegExp 功能

RegExp.lastMatch 靜態訪問器屬性返回最後匹配的子字串。RegExp["$&"] 是此屬性的別名。

描述

由於 lastMatchRegExp 的靜態屬性,因此您始終使用 RegExp.lastMatchRegExp["$&"] 來訪問它,而不是作為您建立的 RegExp 物件上的屬性。

每當 RegExp(但不是 RegExp 子類)例項成功匹配時,lastMatch 的值就會更新。如果沒有進行匹配,lastMatch 為空字串。lastMatch 的設定訪問器為 undefined,因此您無法直接更改此屬性。

您無法使用點屬性訪問器 (RegExp.$&) 來使用簡寫別名,因為 & 不是有效的識別符號部分,這會導致 SyntaxError。請改用方括號表示法

$& 也可用於 String.prototype.replace() 的替換字串中,但這與 RegExp["$&"] 遺留屬性無關。

示例

使用 lastMatch 和 $&

js
const re = /hi/g;
re.test("hi there!");
RegExp.lastMatch; // "hi"
RegExp["$&"]; // "hi"

規範

規範
舊的 RegExp 功能
# RegExp 建構函式的附加屬性

瀏覽器相容性

另見