正则 exec方法 返回数组中 groups是用来存储什么值的？
var reg = /d+/;
var str = 'ac123abc456abc';
var result = reg.exec(str);
console.log(result);
//=> result: ["123", index: 2, input: "ac123abc456abc", groups: undefined]
//=> groups 作用是什么？
`groups`是一个新的`field`，用来存储命名捕获组的信息：
```
let reg1 = /(\d)(\d)/
let str1 = '123'

console.log(reg1.exec(str1)) // => [12, 1, 2] 除去第一个以外的其他数据就是分组捕获到的数据，但是因为是一个数组，所以会存在一个记忆成本

// 命名捕获组的获取
let reg1 = /(?<first>\d)(?<second>\d)/
let str2 = '123'

console.log(reg2.exec(str2).groups) // => { first: 1, second: 2 } 而新的语法支持对这些捕获组进行命名，更方便地获取某个捕获组的数据
```
语法为：`(?<捕获组的名字>捕获组对应的规则)`