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函数的区别与联系的主要内容,如果未能解决你的问题,请参考以下文章

Python eval 与 exec 函数区别

JavaScript中,类、对象、事件、方法、函数的联系与区别

js正则表达式的match test exec replace函数

python3的eval和exec的区别与联系

fork与vfork的区别与联系

python中方法与函数的区别与联系