当正则表达式有全局属性时
let s = "12mm13mm14";
let reg = /(\d)+/g;//全局
let res1, res2;
while(res1 = reg.exec(s)) {
console.log(res1);
}
res2 = s.match(reg);
console.log(res2);
//[ '12', '2', index: 0, input: '12mm13mm14' ]
//[ '13', '3', index: 4, input: '12mm13mm14' ]
//[ '14', '4', index: 8, input: '12mm13mm14' ]
//[ '12', '13', '14' ]
当正则表达式不是全局属性时
let s = "12mm13mm14";
let reg = /(\d)+/; //非全局
let res1, res2;
res2 = s.match(reg);
console.log(res2);//[ '12', '2', index: 0, input: '12mm13mm14' ]
res2 = s.match(reg);
console.log(res2);//[ '12', '2', index: 0, input: '12mm13mm14' ]
while(res1 = reg.exec(s)) {
console.log(res1);//陷入无限循环,[ '12', '2', index: 0, input: '12mm13mm14' ]
}