RegExp.lastMatch ($&)
已弃用: 不再推荐使用此功能。尽管一些浏览器可能仍然支持它,但它可能已从相关的 Web 标准中删除,可能正在被弃用,或者可能仅出于兼容性目的而保留。避免使用它,并尽可能更新现有代码;请参阅此页面底部的兼容性表格,以指导您的决策。请注意,此功能可能随时停止工作。
注意: 所有公开全局最后匹配状态的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 功能 # additional-properties-of-the-regexp-constructor |
浏览器兼容性
BCD 表格仅在启用 JavaScript 的浏览器中加载。