当前位置:编程学习 > C#/ASP.NET >>

如果写采集程序,页面有相同的<div></div>多个,能不能做到只采集规定的前几个

比如,页面里有多个这种相同的代码块(当然是循环出来的),能不能做到只采集规定的前几个(比如就想要前3个div或是前5个div)
<div>
<ul 其它属性>
<li ....>
...
...
其他标签
</div>

<div>
<ul 其它属性>
<li ....>
...
...
其他标签
</div>

<div>
<ul 其它属性>
<li ....>
...
...
其他标签
</div>
--------------------编程问答-------------------- 自己顶 --------------------编程问答-------------------- 用正则匹配div{5}即可 --------------------编程问答-------------------- 完全可以啊正则是首选
其次用index也可以
比如取第二个div
string str=XX.indexof("<div>",XX.indexof("<div>")); --------------------编程问答-------------------- 如果那个层有特殊的属性 比如id=“XX”
那么你用indexof就更好了  --------------------编程问答-------------------- 原
r = new Regex("<li style=\"width:200px; margin-top:21px;\">.+?</div>");
mc = r.Matches(tblb);
应该改成下面这样?mc.count为0
r = new Regex("<li style=\"width:200px; margin-top:21px;\">.+?</div>{5}");
r = new Regex("<li style=\"width:200px; margin-top:21px;\">.+?</div>");
mc = r.Matches(tblb+"{5}");= r.Matches(tblb);
还是下面这样呢?这个也不对
r = new Regex("<li style=\"width:200px; margin-top:21px;\">.+?</div>");
mc = r.Matches(tblb+"{5}"); --------------------编程问答-------------------- ????

怎么实现呢 --------------------编程问答-------------------- 楼上说的很清楚了啊?你要嫌正则表达式不好用就用index,别等被人给你写源码啊 --------------------编程问答-------------------- 我能想到的及找到资料就是5楼写的那样了,但还是没有答案,所以继续等 --------------------编程问答-------------------- 大半夜的了,继续等 --------------------编程问答-------------------- 能。

别等了。 --------------------编程问答-------------------- --------------------编程问答-------------------- 楼上不厚道,继续期待 --------------------编程问答-------------------- 如何用正则做到呢? --------------------编程问答-------------------- 如果没有嵌套的话
          string str = @"<div>
<ul 1>
<li ....>
...
...
1
</div>

<div>
<ul 2>
<li ....>
...
...
2
</div>

<div>
<ul 3>
<li ....>
...
...
3
</div>";
          Regex reg = new Regex(@"(?is)(?:<div\b.*?</div>\s*){2}");
          foreach (Match m in reg.Matches(str))
              Console.WriteLine(m.Value);
--------------------编程问答-------------------- 楼上可以解释一下
(@"(?is)(?:<div\b.*?</div>\s*){2}");
谢谢了
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,