exec()方法为什么会返回长度为2的数组?不是只能返回长度为1的数组吗

function reg_template_pro(str,obj){
//定义正则,以{{开始,}}结束,查找一个及以上的字母
var reg=/{{(\w+)}}/;
//准备挖坑的字符串
var str=str;
while(reg.exec(str)){
str=str.replace(reg.exec(str)[0],obj[reg.exec(str)[1]]);
}
return str;
}

只能长度为1,这数组有意义?

如果 exec() 找到了匹配的文本,则返回一个结果数组。否则,返回 null。此数组的第 0 个元素是与正则表达式相匹配的文本,第 1 个元素是与 RegExpObject 的第 1 个子表达式相匹配的文本(如果有的话),第 2 个元素是与 RegExpObject 的第 2 个子表达式相匹配的文本(如果有的话),以此类推。

返回的是正则式匹配的所有结果,不一定是长度为1