命名反向引用:\k

A类命名反向引用指前一个的子匹配命名捕获组并匹配与该组相同的文本。对于未命名的捕获组,您需要使用正常反向引用语法。

语法

正则表达式
\k个<名称>

参数

名称

组的名称。必须是有效的标识符并引用现有的命名捕获组。

描述

命名反向引用与普通反向引用非常相似:它指的是由捕获组匹配的文本,并与同一文本匹配。不同之处在于,您使用名称而不是数字来引用捕获组。这使得正则表达式更具可读性,也更容易重构和维护。

Unicode-固件模式,序列\k个只有当正则表达式包含至少一个命名捕获组时,才会启动命名反向引用。否则,它是一个身份逃逸与文字字符相同k个。这是一个不推荐使用的web兼容性语法,你不应该依赖它。

js型
/\k个/.测试(“k”); //真的

示例

配对引号

以下函数与title=“xxx”title=“xxx”为了确保引号匹配,我们使用反向引用引用第一个引号。访问第二个捕获组([2])返回匹配引号字符之间的字符串:

js型
功能 parseTitle(解析标题)(亚弦) {
  返回亚弦.比赛(/标题=(?<引用>["'])(.*?)\k个<引用>/)[2];
}

parseTitle(解析标题)('标题=“foo”'); //“foo”
parseTitle(解析标题)(“title='foo'lang='en'”); //“foo”
parseTitle(解析标题)('title=“命名捕获组”); //“命名捕获组的优势”

规格

规范
ECMAScript语言规范
#prod-原子逃逸

浏览器兼容性

BCD表仅在浏览器中加载

另请参见