var obj=document.getElementById("uid");
    var str=/a+?b/;
    alert("aaab".match(str))
这里为什么返回aaab呢,而不是ab呢????请教一下!

解决方案 »

  1.   

    这关系到匹配原理
    我给你简单的解释下吧
    匹配从第一个a开始对吧
    那么匹配是这样的
    aaab
    a->第二个字符不为b,为a.(+?继续匹配)
    aa->第三个字符不为b,为a. (+?继续匹配)
    aaa->第四个字符为b.匹配成功,匹配字符串为aaab
      

  2.   


    那它和var str=/a+b/匹配区别在哪里呢,请教!
      

  3.   

    字符串:aaaaaaaa
    正则:a+?a
    result:aa字符串:aaaaaaaa
    正则:a+a
    result:aaaaaaaa
      

  4.   

    cj205,能不能解释一下,
    字符串:acdb
    正则:a*b
    result:acdb字符串:ab
    正则:a*b
    result:ab