exec和match的区别?

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手慕慕子 2019-11-07 10:59:57

同学你好, 主要区别是exec是正则的方法,match是字符串的方法。 详细解释如下

  1. match的使用方法

    语法: str.match(regexp)

    str: 要进行匹配的字符串。 regexp:一个正则表达式(或者由RegExp()构造成的正则表达式
    match的用法主要区分就是, 正则表达式是否有全局标示g. 

    (1)如果有g全局标志,那么返回的数组保存的是所有匹配的内容,不包过子匹配。

    (2)如果没有g全局标志,那么返回的数组第一个是正确匹配的结果,后面依次是子匹配的结果。

    (3)如果没有匹配的内容,那么就会返回null

    http://img1.sycdn.imooc.com//climg/5dc388270973232809120241.jpg

    http://img1.sycdn.imooc.com//climg/5dc3883209c7223606770228.jpg

  2. exec方法

    语法:regexp.exec(str);

    regexp:正则表达式(可以直接定义也可以利用RegExp的方式定义) str:要匹配的字串

    (1)exec与match的关联就是exec等价于不含有g全局标志的match,即返回数组arr[0]为匹配的完整串.其余的为子匹配的字符串。

    (2)在设置g全局标志的情况下,每次调用exec都会在字符串中继续查找新匹配项

    (3)如果没有匹配的内容,那么就会返回null

    http://img1.sycdn.imooc.com//climg/5dc3888f09d8b5c409540278.jpg

    http://img1.sycdn.imooc.com//climg/5dc3888209d3efc506870105.jpg

同学结合示例,自己下去练习一下,根据代码实现的效果帮助自己更好的理解哦

如果帮助到了你, 欢迎采纳!

祝学习愉快~~~~



问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师