不知道这样是否好理解一些:
var sToMatch = ""; 
document.write(sToMatch.replace(/.+/gi,"*") + " <br>");  //输出: 
document.write(sToMatch.replace(/.*/gi,"*") + " <br>");  //输出:* 

解决方案 »

  1.   

    个人是这样理解的
    /.+/gi把"0a0b0c0de0"匹配了,然后返回
    /.*/gi是先什么都不匹配,然后再把"0a0b0c0de0"匹配了,所以替换了两个*出来
    不知道这样对吗??
      

  2.   

    接近了,但不是的,再看个例子:
    var sToMatch = "abcde"; 
    document.write(sToMatch.replace(/.+/gi,"*") + " <br>");  //输出:*
    document.write(sToMatch.replace(/a*/gi,"*") + " <br>");  //输出:**b*c*d*e* 
      

  3.   

    onepiece81 你明白了,我还不明白,看我:http://topic.csdn.net/u/20080717/11/4e2c1401-f872-4459-848b-23a8c66d93c9.html?seed=1168906502
    最后一楼发的贴子,谢谢
      

  4.   

    去掉当然能理解了,只匹配一次吗?输出*bcde
      

  5.   

    下面的代码会输出如下: 
    我故意用汉字"匹配"换行了,其中下面五行都是空,请高手"潜水修行"说一下,下面五个"匹配"汉字的行匹配的是什么啊? 
    a匹配 
    匹配 
    匹配 
    匹配 
    匹配 
    匹配 
    **b*c*d*e* JScript codefunction qq()
    {
        document.write(arguments[0] + "匹配<br>");
        return "*";
    }
    document.write("abcde".replace(/a*/gi,qq) + " <br>");  //输出:**b*c*d*e*