为了账号安全,请及时绑定邮箱和手机立即绑定

RegExp的exec()函数和String的match()函数有什么区别?

RegExp的exec()函数和String的match()函数有什么区别?

MM们 2019-10-15 15:38:08
如果我运行此命令:/([^\/]+)+/g.exec('/a/b/c/d');我得到这个:["a", "a"]但是如果我运行这个:'/a/b/c/d'.match(/([^\/]+)+/g);然后,我得到了预期的结果:["a", "b", "c", "d"]有什么不同?
查看完整描述

3 回答

?
郎朗坤

TA贡献1921条经验 获得超9个赞

exec带有全局正则表达式的表达式应在循环中使用,因为它仍将检索所有匹配的子表达式。所以:


var re = /[^\/]+/g;

var match;


while (match = re.exec('/a/b/c/d')) {

    // match is now the next match, in array form.

}


// No more matches.

String.match 为您执行此操作,并丢弃捕获的组。


查看完整回答
反对 回复 2019-10-15
  • 3 回答
  • 0 关注
  • 582 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信