var re = /(?<=^|>)[^<>]+(?=<|$)/g;这句为啥不对啊

解决方案 »

  1.   

    C#没有/ /g;
    js没有(?<=)
      

  2.   

    js不支持(?<=)
    从你的正则来看,你可以换一种解法:
    var re = /^|([^<>]+?)<|$/g;
    if(re.test(yourstr))
      alert(RegExp.$1);
      

  3.   

    var re = /(?:^|>)([^<>]+?)(?:<|$)/g;
    if(re.test(yourstr))
      alert(RegExp.$1);
      

  4.   

    楼主既然用了/g,表示要的应该是多个匹配结果,需要用exec    var str = document.getElementById("source").value;
        var reg = /(?:^|>)([^<>]+)(?:<|$)/g;
        var result;
        while ((result = reg.exec(str)) != null) 
        {
            document.getElementById("result").value += result[1] + "\n";
        }