日期:2014-05-17  浏览次数:20433 次

求一正则匹配div对
帮忙看看,匹配这个div对的正则怎么写,这对div中间可能还有div的

****<div class="abc">*****</div>*******

这个正则 var r = /<div\s+[\d\D]*?<\/div>/i; 匹配了所有div,请高手帮忙看看

------解决方案--------------------
try...

C# code
Regex reg = new Regex(@"(?is)<div\s+class=""abc""[^>]*>(?><div[^>]*>(?<o>)|</div>(?<-o>)|(?:(?!</?div\b).)*)*(?(o)(?!))</div>");
MatchCollection mc = reg.Matches(yourStr);
foreach (Match m in mc)
{
    richTextBox2.Text += m.Value + "\n";
}

------解决方案--------------------
<div\s+class=\"abc\">.?</div>
------解决方案--------------------
<div\s+class=\"abc\">.?</div>
------解决方案--------------------
帮忙看看,匹配这个div对的正则怎么写,这对div中间可能还有div的

---------------------------
这种可能有嵌套的需求,是需要用平衡组来处理的
------解决方案--------------------
js 中不支持平衡组,处理不了嵌套结构

如果确定有嵌套结构,那就只能自己写有穷自动机处理了