正则表达式匹配DIV里面的内容 很急高手进拉!!!
不知道过客在吗?如果看到贴子希望帮我解决下问题,,
真心希望这个贴子高手能帮忙解决下,在这里谢谢呀!!
我要实现的功能就是通过正则表达式匹配下面这个大DIV获取到里面所有的内容..中间有几层嵌套不太容易 ,希望能帮下我的忙。。
<div class="sbox_3" id="EFF_PINFO_Con_0">
这是最外层大DIV
<div class="ProInfo">
<DIV>这是嵌套DIV内容</DIV>
<DIV> 这是嵌套DIV内容</DIV>
<TABLE cellSpacing=0 cellPadding=0 border=0>
<TBODY>
<TR>
<TD vAlign=top><SPAN lang=EN-US style="FONT-SIZE: 9pt; FONT-FAMILY: Arial">
<DIV>这是嵌套在表格里面DIV内容</DIV>
</TD>
</TR>
</TBODY>
</TABLE>
<TABLE cellSpacing=0 cellPadding=0 border=0>
<TR>
<TD>
<DIV style="PADDING-BOTTOM: 12px; PADDING-TOP: 5px"><STRONG>体贴人性完美体验</STRONG>
<STRONG>―― </STRONG><STRONG>丰富多彩的人性化易用设计</STRONG>
</DIV>
</TD>
</TR>
<TR>
<TD> </TD>
</TR>
<TR>
<TD>
<TABLE cellSpacing=0 cellPadding=0 border=0>
<TBODY>
<TD vAlign=top><STRONG><STRONG>全新联想高触感键盘<BR></STRONG></STRONG>
<DIV>嵌套的DIV</DIV>
</TD></TR></TABLE>
</div>
<!--div class="ProInfo"结束-->
<div class="State"><h3>京东商城服务承诺:</h3>
<div class="sbox_4">京东商城向您保证所售商品均为正品行货,</div>
<h3>售后服务:</h3>
<div class="sbox_4">本产品全国联保,享受三包服务</div>
</div>
<!--div class="State"结束-->
<div class="State"><strong>声明:</strong></div>
</div>
<!--外层大DIV结束-->
------解决方案--------------------
就取最外层的,还是根据ID之类的标识来取?
这是取最外层的
C# code
Regex reg = new Regex(@"(?is)<div[^>]*>(?><div[^>]*>(?<o>)|</div>(?<-o>)|(?:(?!</?div\b).)*)*(?(o)(?!))</div>");
MatchCollection mc = reg.Matches(yourStr);
foreach(Match m in mc)
{
richTextBox2.Text += m.Value + "\n";
}