正则的exec方法和字符串的match方法

    var str='123456abca123421aaa2134a1';
    var reg_1=/a([a-z]+)/g;
    var reg_2=/a([a-z]+)/;


    document.write(reg_1.exec(str)+"<br>");
    document.write(reg_2.exec(str)+"<br>");

输出结果:

abca,bca
abca,bca

总结:exec方法,不管是否为全局g,都返回第一个匹配对象及分组子项。值得注意的是,exec方法具有记忆力,重复调用,会往后遍历。


    document.write(str.match(reg_1)+"<br>");
    document.write(str.match(reg_2)+"<br>");

输出结果:

abca,aaa
abca,bca

总结:match方法如果为全局,则返回所有匹配对象,如果不为全局,则返回第一个匹配对象及其分组子项。


猜你喜欢

转载自blog.csdn.net/anoddguy/article/details/80798321