RegExp.leftContext ($`)
已弃用: 不再推荐使用此功能。尽管某些浏览器可能仍然支持它,但它可能已从相关的 Web 标准中删除,可能正在被放弃,或者可能仅出于兼容性目的而保留。避免使用它,并尽可能更新现有代码;请参阅本页底部的兼容性表,以指导您的决策。请注意,此功能可能随时停止工作。
注意: 所有公开全局最后匹配状态的RegExp
静态属性都已弃用。有关更多信息,请参阅已弃用的 RegExp 功能。
RegExp.leftContext
静态访问器属性返回紧接在最近匹配项之前的子字符串。RegExp["$`"]
是此属性的别名。
描述
因为leftContext
是RegExp
的静态属性,所以您始终将其用作RegExp.leftContext
或RegExp["$`"]
,而不是用作您创建的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 的浏览器中加载。