刚才讨论了怎么去除一些string的操作,现在没问题,但我又想到了这个问题.先看大致的源码示例,Html源代码存放在String中:<html>
    ......................................................................................                     //乱七八糟我不需要的东西
    <a href="http://xxxx.com">titile</a>                       //我需要的URL和Title
    ......................................................................................                    //乱七八糟我不需要的东西               
    <a href="http://xxxx.com">titile</a>                      //我需要的URL和Title
    ......................................................................................                     
    <a href="http://xxxx.com">titile</a>                       
    ......................................................................................                     
    <a href="http://xxxx.com">titile</a>   
    ......................................................................................                     
    <a href="http://xxxx.com">titile</a>   
</html>
n条这样的规则URL和Title放置在string中,如何提取出来存放在两个String[]中,一个放URL,一个放Title.
只提取网址和标题.
大家一起讨论下吧,我觉得这个蛮有用的.

解决方案 »

  1.   


    哈哈,我也不是正则问题每帖必到哈,看到了就回下MatchCollection mc = Regex.Matches(yourStr, @"(?is)<a(?:(?!href=).)*href=(['""]?)(?<url>[^""'\s>]*)\1[^>]*>(?<text>(?:(?!</a>).)*)</a>");
    foreach (Match m in mc)
    {
        richTextBox2.Text += m.Groups["url"].Value + "\n";
        richTextBox2.Text += m.Groups["text"].Value + "\n";
    }
      

  2.   

    正则盲路过...
    不过如果是严格的XHTML的话,
    用IndexOf和Substring之类的写一个难度也不是太大
      

  3.   

    正则不太懂,我1楼Html的代码只是一个示例,其实我要用到的是这样的代码:<a href="http://baike.baidu.com/view/4253.htm" target="_blank"><font size="3">罗伯特·<font color=#e10900>巴乔</font>_百度百科</font></a>
    <br><font size=-1>家庭:<font color=#e10900>巴乔</font>是他母亲玛蒂尔德的第八个孩子,在他前面排着吉奥那、沃尔特、卡
    <br>拉、吉奥吉尔、安娜-玛丽亚、纳蒂尔和艾蒂这些哥哥姐姐。父亲弗奥林多经
    <br>营一家小商店,而玛蒂尔德是八个孩子的母亲,所以小罗伯特的孩子时代充满了
    <br>自由。[编辑本段]... 
    <br><font color=#008000>baike.baidu.com/view/4253.htm 90K 2009-3-29  </font> - <a href="http://cache.baidu.com/c?m=9d78d513d9d431ad4f9ce2697c13c0171c40c72362d88a5339968449e0794611143dbaec30226754809e2a2016af3e0db7af2b366c5465aa9dc88f4bcabbe57269d7&p=913bcd16d9c211a05be8e6351c40&user=baidu" target="_blank" class=m>百度快照</a> 
    <br><a class="m" target="_blank" href="s?lm=0&si=&rn=2&tn=baidulocal&ie=gb2312&ct=0&wd=%B0%CD%C7%C7%20site%3Abaike%2Ebaidu%2Ecom+&cl=2">baike.baidu.com&nbsp;上的更多结果</a>
    </font>是百度的一条搜索返回结果,我要提取
    URL ,http://baike.baidu.com/view/4253.htm
    Title, "罗伯特·<font color=#e10900>巴乔</font>_百度百科</font>"
    几个<br>组成的四句介绍内容,"................"
    大小和时间,"baike.baidu.com/view/4253.htm 90K 2009-3-29"
    百度快照的URL,"http://cache.baidu.com.........."5个信息都是存放在string数组里,现在还在琢磨怎么用substring写,正则写不来
      

  4.   

    对的,不是xhtml,但是挺规范的html
      

  5.   

    xmlreader啊,虽然说正则、字符串==都是可以一用编写简单的方法,但是泛用性很差,LZ几个帖子说明老是和xml打交道,不如试试看system.xml里面的东西吧,写个好点的就可以一直用,改改属性和tag的名字就行了