var reg = /d+/;
var str = 'ac123abc456abc';
var result = reg.exec(str);
console.log(result);
//=> result: ["123", index: 2, input: "ac123abc456abc", groups: undefined]
//=> groups 作用是什么?
var reg = /d+/;
var str = 'ac123abc456abc';
var result = reg.exec(str);
console.log(result);
//=> result: ["123", index: 2, input: "ac123abc456abc", groups: undefined]
//=> groups 作用是什么?
将你的例子中 reg 改成 /(\d+)/
其中的括号括住的部分叫“捕获”,对应英文是group。
exec中结果中的group用于列举 “有名有姓”的捕获。
再改一下 reg为 /(?<test>\d+)/
,其中的?<test>
代表捕获的“名字”为test,你执行一下,就会看到result.groups中多出一个名为test的属性,其中对应的值就是\d+
匹配到得文本。
8 回答4.6k 阅读✓ 已解决
6 回答3.3k 阅读✓ 已解决
5 回答2.8k 阅读✓ 已解决
5 回答6.3k 阅读✓ 已解决
4 回答2.2k 阅读✓ 已解决
4 回答2.7k 阅读✓ 已解决
3 回答2.4k 阅读✓ 已解决
groups
是一个新的field
,用来存储命名捕获组的信息:语法为:
(?<捕获组的名字>捕获组对应的规则)
可以参考之前写的一篇文章,里边有提到:https://segmentfault.com/a/11...