您的位置:首页 > 其它

match和exec的用法区别

2015-05-13 15:24 211 查看
//exec and match
//1 无子类无全局
var str='abcde';
var reg=/abc/;
//alert(str.match(reg)); //abc
//alert(reg.exec(str)); //abc

//2 有子类无全局
var str='abcde';
var reg=/ab(c)/;
alert(reg.exec(str)); //abc,c
alert(str.match(reg)); //abc

//3 有全局无子类
var str='abcdeabc';
var reg=/abc/g;
alert(reg.exec(str)); // abc
alert(str.match(reg)); // abc,abc

//4 有全局有子类
var str='abcdeabc';
var reg=/ab(c)/g;
alert(reg.exec(str)); // abc,c
alert(str.match(reg)); // abc,abc

总结:match若无全局则匹配第一个,若有则全部匹配,不考虑分组捕获,返回数组。
exec不考虑全局问题,只匹配第一个,考虑分组捕获,返回数组。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: