RegExp.leftContext ($`)

已弃用: 不再推荐使用此功能。尽管某些浏览器可能仍然支持它,但它可能已从相关的 Web 标准中删除,可能正在被放弃,或者可能仅出于兼容性目的而保留。避免使用它,并尽可能更新现有代码;请参阅本页底部的兼容性表,以指导您的决策。请注意,此功能可能随时停止工作。

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

RegExp.leftContext静态访问器属性返回紧接在最近匹配项之前的子字符串。RegExp["$`"]是此属性的别名。

描述

因为leftContextRegExp的静态属性,所以您始终将其用作RegExp.leftContextRegExp["$`"],而不是用作您创建的RegExp对象的属性。

每当RegExp(但不是RegExp子类)实例成功匹配时,leftContext的值都会更新。如果尚未进行任何匹配,则leftContext为空字符串。leftContext的设置访问器为undefined,因此您无法直接更改此属性。

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

$`也可以用在String.prototype.replace()的替换字符串中,但这与RegExp["$`"]旧版属性无关。

示例

使用 leftContext 和 $`

js
const re = /world/g;
re.test("hello world!");
RegExp.leftContext; // "hello "
RegExp["$`"]; // "hello "

规范

规范
旧版 RegExp 功能
# additional-properties-of-the-regexp-constructor

浏览器兼容性

BCD 表仅在启用 JavaScript 的浏览器中加载。

另请参阅