正则表达式 match和exec

1 、match 和 exec 共同点

1、当不使用全局匹配g的时候,两只都返回相同的格式 。
检索字符串中指定的值。返回找到的值,并确定其位置。

var str = 'shanghai nihao shanghainihao'
var patt = /nihao/
str.match(patt)
str.match(patt)

在这里插入图片描述
在这里插入图片描述

2、match 和 exec 区别

1、它们最大的本质区别就是 match是字符串的方法 exec是正则对象的方法
2、在使用全局匹配的时候

 match 返回的是一个数组且会忽略子表达式的捕获项
 exec 则是 忽略全局匹配。

match
在这里插入图片描述
exec
在这里插入图片描述
3、应用上的区别

exec适合用于循环匹配 虽然全局匹配和非全局的返回值一样,但使用exec循环时,必须要加修饰符g


match 适用于将所有匹配项找出来,得到一个匹配项的数组 。(前提是全局匹配g)
3、exec 的特点

它是RegExp对象的一个方法
如果字符串中有匹配的值返回该匹配值,否则返回 null。

每次使用exec后,对应的正在实例有个属性 lastIndex 会变成 每次匹配要检索的字符串的开始匹配的起始索引位置的值,当下次执行的时候会从上次所匹配的位置继续查找匹配。相应的lastIndex也会变化。当最后没有可匹配的项时会返回一个null,相应的 lastIndex也会重置为0

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值