RegExp.lastMatch ($&)
已棄用:此特性不再推薦。雖然某些瀏覽器可能仍然支援它,但它可能已經從相關的網路標準中刪除,可能正在刪除過程中,或者可能僅為相容性目的而保留。請避免使用它,如果可能,請更新現有程式碼;請參閱本頁底部的相容性表格以指導您的決策。請注意,此特性可能隨時停止工作。
注意:所有暴露全域性最後匹配狀態的 RegExp 靜態屬性都已棄用。有關更多資訊,請參閱 已棄用的 RegExp 功能。
RegExp.lastMatch 靜態訪問器屬性返回最後匹配的子字串。RegExp["$&"] 是此屬性的別名。
描述
由於 lastMatch 是 RegExp 的靜態屬性,因此您始終使用 RegExp.lastMatch 或 RegExp["$&"] 來訪問它,而不是作為您建立的 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 建構函式的附加屬性 |
瀏覽器相容性
載入中…