解决方案 »

  1.   


    var src = "a_all cssb|oba_b strc|天天";
    var re = /.+?( |\||$)/g;
    var arr;
    while ((arr = re.exec(src)) != null) {
        document.write("<br /><br />");
        document.write(arr[0]);
    };
      

  2.   


    var re2=/.+?[\s\|$]/g;
    为什么结果少了最后一个?
      

  3.   


    var re2=/.+?[\s\|$]/g;
    为什么结果少了最后一个?你的错了。你自己看看你的意思变成什么了。
    我的var re = /.+?( |\||$)/g;括号里的表示空格或竖线 | 或结尾$。
    因为你说的是遇到空格或竖线|,所以没有用\s(表示空白符)。
    你字符串的末尾没有空格也没有竖线,所以应该匹配末尾$。