RegExp.lastParen ($+)

已弃用:此特性不再推荐。虽然某些浏览器可能仍然支持它,但它可能已经从相关的网络标准中删除,可能正在删除过程中,或者可能仅为兼容性目的而保留。请避免使用它,如果可能,请更新现有代码;请参阅本页底部的兼容性表格以指导您的决策。请注意,此特性可能随时停止工作。

注意:所有暴露全局最后匹配状态的 RegExp 静态属性都已弃用。有关更多信息,请参阅 已弃用的 RegExp 功能

RegExp.lastParen 静态访问器属性会返回最后一个括号捕获的子字符串匹配(如果有)。RegExp["$+"] 是此属性的别名。

描述

因为 lastParenRegExp 的一个静态属性,所以您总是通过 RegExp.lastParenRegExp["$+"] 来使用它,而不是作为您创建的 RegExp 对象的一个属性。

每当一个 RegExp(但不是 RegExp 的子类)实例成功匹配时,lastParen 的值都会更新。如果没有发生匹配,或者最近的正则表达式执行不包含捕获组,lastParen 将为空字符串。lastParen 的 set 访问器是 undefined,所以您不能直接更改此属性。

您不能使用点属性访问器 (RegExp.$+) 来使用简写别名,因为 + 不是一个有效的标识符部分,这会导致一个 SyntaxError。请使用 方括号表示法

示例

使用 lastParen 和 $+

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

规范

规范
旧的 RegExp 功能
# RegExp 构造函数的附加属性

浏览器兼容性

另见