- 两者的相同点就是 返回的都是数组
- 不同点
exec
1.返回一个数组 第一个参数是正则匹配的结果 其中还有index匹配的位置 input:正则所匹配的原字符串
2.如果字符串有多个和正则匹配的片段 则正则 第一次 匹配只能匹配最近的片段
var str = "fnksdfkjd"
var reg = /([\w]){1,3}/g
console.log(reg.exec(str))
exec可以用循环匹配多个
var str = 'userID=JeoOrCXxyiOFxbYaGL40kw&userPwd=sdFo2ziUw8HyLRKd4i6GAQ&userName=aa';
function conversion(str){
var reg =/([^&=]+)[=/]*([^&=]*)/g;
var obj ={};
while(reg.exec(str)){
obj[RegExp.$1] = RegExp.$2;
}
return obj;
}
console.log(conversion(str));
metch
1.如果字符串有多个和正则匹配的片段 则会返回一个数组 数组中包含每个匹配片段
var str = "fnksdfkjd"
var reg = /([\w]){1,3}/g
console.log(str.match(reg))