x='"a","b"';y=x.replace(/([^"]*)/g,"'$1'");为何返回值会是:''"'a'''"','''"'b'''"'' ?/([^"]*)/g捕捉的不应该只是a和b吗,为什么会返回这么多引号?谢谢回答
2 回答
森林海
TA贡献2011条经验 获得超2个赞
正则的问题 * 匹配任意次,越多越好,也就是说,空白也匹配,匹配 0 次
你实际上把上面匹配到的 7 个字符串都用它的捕获组去替换了,举个例子
首先,字符串开头的空白你匹配到了,$1是空白,然后你把开头的空白替换成了'$1',实际上就是'',所以你的字符串开头多了''
后面的类似,,,,你慢慢分析吧
添加回答
举报
0/150
提交
取消