采集某个网站网页中的字段信息,比如网页源码中:<div id="name">abc</div>  ,只能用<div id="name">*</div>规则来进行死配备么,还有啥好办法么?
性能和时效性...

解决方案 »

  1.   

    <div id="([\\s\\S]*?)">([\\s\\S]*?)</div>
      

  2.   

    [align=left]如果说我要解析某些个字符段数据,假设如下:
    <td class="label" width="180" id="lbl_updatedMemberInfo-defaultCountry">
                                                                <div class="labelText" id="lblText_updatedMemberInfo-defaultCountry">
                                                                    Country:</div>
                                                            </td>
                                                            <td class="entry">
                                                                <div class="dataLabel" id="originalCountry">
                                                                    United Kingdom</div>
                                                            </td>[/align]
    那么这个我想去United Kingdom这个数据呢?类似的东西有10个左右,而且布局里面用的标签也许一样,长短不一,那我匹配不写死掉?正则那我要写多少表达式,单就一个匹配规则也够长了。
      

  3.   

    C#中有没用类似占位符的形式获取字符串,比如:string s='<input type="text" name="name" id="adddd" value="$1" ',直接用个$1(假设)占位符,然后直接把它获取出来?(用Substring基本不用考虑),正则类中有类似方法?
      

  4.   

    C#有没方法直接获取文本(去除所有html标签),用一大堆的正则拆分匹配(除外)。那个效率太低了,而且还容易假死。就是类似于页面中用的HtmlDecode方法。
      

  5.   

    网上有个函数,就是去html标记的,可以应付大部分情况, 搜一下。 代码很短,没有超过一屏。
      

  6.   

    实际情况有些复杂,有的有值就是<div id="name">xxx</div>这种,而没值则<input value="" />类型。还有的是有无都是<input>。去html标记也不太可以。
    最终只能查找匹配项,定义唯一规则。使用indexOf和subString组合,抽取了一个公共方法,只有两个布局不同(单独搞了方法)............搞定!
    最后谢谢大家的回复!