qq_38312262
qq_张先生
采纳率44%
2019-03-02 10:07

正则表达式括号里面为什么匹配了两次?

已采纳

正则表达式括号里面为什么匹配了两次?

            var reg = /(way|zgw)/;
            var str = "way2014";
            var result = str.match(reg);
            console.log(result);

执行结果:
图片说明

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

1条回答

  • weixin_42185136 划船的使者 2年前

    放在小括号中表示一个单独的分组,所以整个匹配输出一次"way",小括号中单独的匹配再输出一个"way"

    比如'abc'.match(/(a)(b)/)
    是不是输出了["ab","a" ,"b"]了
    先把ab当作一个整体输出ab,再把小括号中单独的匹配输出单个括号中的值a和b

    点赞 2 评论 复制链接分享

相关推荐