这样看,亲不清楚;
var B="abc";
var $c = B.match(/a*?/g);

解决方案 »

  1.   

    a*代表零个或一个a
    *后面加个问号表示非贪婪匹配,即尽可能少的匹配字符
    零个或一个,还尽可能少,当然就是匹配零个了,也就是什么字符都不匹配
    后面还有个g,就是全局匹配的意思
    所以在字符a、b、c的前后都出现了m,你可以理解为在每个字符前后都有个“不存在的字符”被替换成了m
    实际上由于那个问号的存在,这个正则表达式里的a变得无关紧要了,你把它改成/x*?/g照样是相同的结果
    如果没有那个问号,就会尽可能多的匹配字符,那个a就在劫难逃了,结果就会变成mmbmcm