JS中exec函数与match函数的区别与联系
Posted He元素
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JS中exec函数与match函数的区别与联系相关的知识,希望对你有一定的参考价值。
总结:
正则规则的声明,两种方法:
exec是RegExp类的匹配方法
match是字符串类的匹配方法
var reg = /aaa/g; var reg = new RegExp("aaa","g");
创建的时候 可以用 这两种方法创建,唯一的区别在于 第二种 用NEW的方法可以在规则内使用变量,例如
var name="xaiohua"; var reg=new RegExp("aa"+xiaohua+"aa",g);
举例子
var str="ab1cab2"; var reg=/ab(\d)/g; var res=reg.exec(str); console.log(res); //结果["ab1", "1", index: 0, input: "ab1cab1"] var res1=str.match(reg); console.log(res1); //结果["ab1", "ab2"]
总结:
match是返回所有匹配的字符串合成的数组,但是正则表达式必须指定全局g属性才能返回所有匹配,不指定g属性则会返回一个只有一个元素的数组。
exec永远返回与第一个匹配相关的信息,其返回数组包括第一个匹配的字串,所有分组的反向引用。(pattern中的g属性对exec函数是没有任何作用的)
以上是关于JS中exec函数与match函数的区别与联系的主要内容,如果未能解决你的问题,请参考以下文章
JavaScript中,类、对象、事件、方法、函数的联系与区别