match匹配包含子表达式的正则表达式

Posted by Song on March 11, 2019
'&branId=656121&'.match(/(?<subExp1>^|&)branId=(?<subExp2>[^&]*)(?<subExp3>&|$)/);
/*返回结果*/
["&branId=656121&", "&", "656121", "&", index: 0, input: "&branId=656121&",
groups: {subExp1: "&", subExp2: "656121", subExp3: "&"}]

? 为子表达式分组名称 匹配成功返回一个数组,依次为完全匹配的结果,第一个子表达式匹配的结果,第二个自表达式匹配的结果, 第三个自表达式匹配的结果,index: 开始匹配的位置,input: 用于匹配的值, groups: 存放着每个命名分组的名称以及它们匹配到的值。