【发布时间】:2014-01-04 02:38:15
【问题描述】:
var re1=new RegExp("","g");
var str1="a";
console.log(str1.match(re1));
var re2=new RegExp("","g");
var str2="a";
console.log(re2.exec(str2));
console.log(re2.exec(str2));
为什么第一个会捕获两个空字符串,而第二个只能包含一个空字符串?
【问题讨论】:
-
@Vache:
match将返回所有结果,但exec只会返回一个。我认为您的编辑使问题无效。 -
@icktoofay 是的,我完全误解了问题的含义。对此感到抱歉。
-
@Daniel:不完全是。您通常应该能够用
exec循环替换对match的调用;然而,在这种情况下,它们会产生不同的结果,这就是问题所在。
标签: javascript regex