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不考虑全局问题,只匹配第一个,考虑分组捕获,返回数组。
//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不考虑全局问题,只匹配第一个,考虑分组捕获,返回数组。
相关文章推荐
- JavaScript中正则表达式test()、exec()、match() 方法区别
- js正则表达式中test,exec,match方法的区别说明
- 【转】js正则表达exec和match的区别
- js正则表达式中test,exec,match方法的区别说明
- javascript exec match 区别
- 正则表达中常用方法小结 test(),exec(),search(),match()区别及应用。
- 转转转---js正则表达exec与match的区别说明
- js中exec、test、match、search、replace、split用法
- js正则表达exec和match的区别
- js正则表达式中test,exec,match方法的区别说明
- 正则表达式中 test、exec、match 方法区别
- js正则表达test、exec和match的区别
- JavaScript中正则表达式test()、exec()、match() 方法区别
- 正则表达式中 test、exec、match 方法区别
- PHP exec 函数及 system,exec,passthru 区别用法详解
- 正则表达式中 test、exec、match 方法区别
- 正则中str.match(pattern)与pattern.exec(str)的区别
- 彻底搞懂javascript中的match, exec的区别
- exec与match的区别
- 正则表达式之re.search()与re.match()用法区别