var s = '<tr... ...name="trName">..<td />... (中间xx无tr)...</tr>' + '<tr>..<td />... (中间fefeaa无tr)...</tr>' + '<tr... ...name="trName">..<td />... (中间xx无tr)...</tr>'; var reg = /<tr[^>]+name="trName"[^>]*>([\s\S]+?)<\/tr>/gi var mc = s.match(reg); if(mc)console.log(mc.length)//2
var s = '<tr... ...name="trName">..<td />... (中间xx无tr)...</tr>'
+ '<tr>..<td />... (中间fefeaa无tr)...</tr>'
+ '<tr... ...name="trName">..<td />... (中间xx无tr)...</tr>';
var reg = /<tr[^>]+name="trName"[^>]*>([\s\S]+?)<\/tr>/gi
var mc = s.match(reg);
if(mc)console.log(mc.length)//2
是不是这样:
/(<tr[^>])+name="trName"[^>]*>([\s\S]+?)<\/?1>/gi
不嵌套的标签可以使用([\s\S]+?)非贪婪模式,碰到就结束,嵌套的话正则比较麻烦,用dom操作比较简单