var rg=[\s\S]*?(?=<br\s?\/?>)|[\s\S]*?(?=<BR>)|(?<=<br>)[^>]*(?=<\/span>$);
这个是正确的
但是因为里边包含$符号
跟jquery中的$冲突了
所以改成了下边两种形式var rg=new RegExp("[\s\S]*?(?=<br\s?\/?>)|[\s\S]*?(?=<BR>)|(?<=<br>)[^>]*(?=<\/span>$)");var rg=new RegExp("[\\s\\S]*?(?=<br\\s?\/?>)|[\\s\\S]*?(?=<BR>)|(?<=<br>)[^>]*(?=<\/span>$)");结果这两种都错了

解决方案 »

  1.   

    第一个应该是var rg=/[\s\S]*?(?=<br\s?\/?>)|[\s\S]*?(?=<BR>)|(?<=<br>)[^>]*(?=<\/span>$)/;
      

  2.   

    var rg=new RegExp("[\\s\\S]*?(?=<br\\s?/?>)|[\\s\\S]*?(?=<BR>)|(?<=<br>)[^>]*(?=</span>$)");
      

  3.   


    出错了
    invalid quantifier
      

  4.   

    var rg=/[\s\S]*?(?=<br\s?\/?>)|[\s\S]*?(?=<BR>)|(?<=<br>)[^>]*(?=<\/span>$)/;
    你原来的正则就有问题
      

  5.   

    把包含$符号分组去掉就正确了
    (?<=<br>)[^>]*(?=<\/span>$)
    单独测试 又是正确的很疑惑
      

  6.   


    var rg=/[\s\S]*?(?=<br\s?\/?>)|[\s\S]*?(?=<BR>)|[^>]*(?=<\/span>$)/;
    这样就对了
    (?<=<br>)[^>]*(?=<\/span>$)
    [^>]*(?=<\/span>$)