先上代码,再说问题function regExHTML(h){
var re = new RegExp("<div[^>]*class=\"elist\"[^>]*>(<div[^>]*>(<div[^>]*>(<div[^>]*>(<div[^>]*>.*?</div>|.)*?</div>|.)*?</div>|.)*?</div>|.)*?</div>");
var r = re.exec(h);
alert(r);
}这个正则是匹配嵌套div,我在RegexMatchTracer工具和http://tools.netshiftmedia.com/regexlibrary/测试都没问题,都能成功匹配,但是放到JS中,死活就是匹配失败,尝试用match、exec、test都不能匹配,也尝试用Perl风格写,但变量r始终是null,非常郁闷,请问这个正则哪里有问题?我是正则新手
var re = new RegExp("<div[^>]*class=\"elist\"[^>]*>(<div[^>]*>(<div[^>]*>(<div[^>]*>(<div[^>]*>.*?</div>|.)*?</div>|.)*?</div>|.)*?</div>|.)*?</div>");
var r = re.exec(h);
alert(r);
}这个正则是匹配嵌套div,我在RegexMatchTracer工具和http://tools.netshiftmedia.com/regexlibrary/测试都没问题,都能成功匹配,但是放到JS中,死活就是匹配失败,尝试用match、exec、test都不能匹配,也尝试用Perl风格写,但变量r始终是null,非常郁闷,请问这个正则哪里有问题?我是正则新手
加一句:var h = h.replace(/\n|\r|(\r\n)/g, "");
问题解决。