语法错误:正则表达式中重复的捕获组名称
当正则表达式模式包含两个或多个 命名捕获组 具有相同的名称,并且这些捕获组可以同时匹配时,就会出现 JavaScript 异常“正则表达式中重复的捕获组名称”。
消息
SyntaxError: Invalid regular expression: /(?<a>)(?<a>)/: Duplicate capture group name (V8-based) SyntaxError: duplicate capture group name in regular expression (Firefox) SyntaxError: Invalid regular expression: duplicate group specifier name (Safari)
错误类型
出了什么问题?
示例
无效案例
js
/(?<name>\w+) (?<name>\w+)/;
有效案例
js
/(?<firstName>\w+) (?<lastName>\w+)/;
/(?<year>\d{4})-\d{2}|\d{2}-(?<year>\d{4})/;