问题是这样的,我做了个网页爬虫,获得了指定的html代码,想获取其中某个文本的链接地址,如下<html><body><a href='我要获取此链接' >文本内容</a></body></html>文本内容  是固定的,也许是一个固定的图片链接,就是想得到其超链接的地址,用正则表达式只能获取所有的超链接地址,却不能获取我指定内容的超链接地址,希望知道的朋友不吝赐教,在此谢谢各位了。

解决方案 »

  1.   

    try...
     static void Main(string[] args)
            {
                Regex r = new Regex(@"<a\s*href='([^']+)\s*[^>]*>");
                string str = @"<html> <body> <a href='我要获取此链接' >文本内容 </a> </body> </html>";
                Match m;
                for (m = r.Match(str); m.Success; m = m.NextMatch())
                {
                    Console.WriteLine(m.Groups[1].ToString());
                }
            }
      

  2.   

    string _Value = "<html> <body> <a href='我要获取此链接' >文本内容 </a> </body> </html> ";
                Regex _Regex = new Regex(@"(?<=<a href=')[^']+");            MessageBox.Show(_Regex.Match(_Value).Value);这样?
      

  3.   

    正则表达式获得文本内容的位置,然后取得其前面的链接
    即用零宽断言,然后匹配href
    或者正则表达式获得如下整个部分
    <a href='我要获取此链接' >文本内容 </a>然后根据文本内容判断