https://blog.csdn.net/liangklfang/article/details/49246135
//全局匹配下
var reg = /(\d)/g;
do {
m = reg.exec('123');
console.log(m);
} while (m)
console.log('123'.match(reg));
//exec输出
Array(2)0: "1" 1: "1" groups: undefined index: 0 input: "123" length: 2
Array(2)0: "2" 1: "2" groups: undefined index: 1input: "123" length: 2
Array(2)0: "3" 1: "3" groups: undefined index: 2 input: "123" length: 2
//match输出
(3) ["1", "2", "3"]
0:"1"
1:"2"
2:"3"
length:3
结论:
在全局匹配模式下,match返回一个所有匹配项的数组,而exec只会返回第一个匹配项数组,数组内容包括匹配项内容,第一个捕获组.....第n个捕获组,匹配的位置index,所验证匹配的字符串input,长度length。
在非全局匹配模式下,match返回第一个匹配项数组,exec也返回第一个匹配项数组,两者内容一致,数组包括匹配项内容,第一个捕获组.....第n个捕获组,匹配的位置index,所验证匹配的字符串input,长度length