不知道过客在吗?如果看到贴子希望帮我解决下问题,,
真心希望这个贴子高手能帮忙解决下,在这里谢谢呀!!
我要实现的功能就是通过正则表达式匹配下面这个大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结束-->
真心希望这个贴子高手能帮忙解决下,在这里谢谢呀!!
我要实现的功能就是通过正则表达式匹配下面这个大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结束-->
用javascript获取innerHTML好像更容易些吧。
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";
}
我要取出这个DIV里面的全部内容,也就是1楼上的所用内容。 里面有嵌套的你看清楚下,
难点就是 不知道该在哪找到 属于这个 <div class="sbox_3" id="EFF_PINFO_Con_0">
的结束标记。
我怕你没时间!!
就是我怎么抓取一个页面 或者指定的DIV 里面的 所有 img
//取整个img标签
Regex reg = new Regex(@"(?i)<img[^>]*>");
MatchCollection mc = reg.Matches(yourStr);
foreach(Match m in mc)
{
richTextBox2.Text += m.Value + "\n";
}
//取src
Regex reg = new Regex(@"(?i)<img[^>]*?src=(['""]?)(?<src>[^'""\s>]+)\1[^>]*>");
MatchCollection mc = reg.Matches(yourStr);
foreach(Match m in mc)
{
richTextBox2.Text += m.Groups["src"].Value + "\n";
}