<div class="page">
<A href="abc1.html"><FONT>上一页</FONT></A>&nbsp;<A href="abc2.html">[1]</A>&nbsp;2&nbsp;<A href="abc3.html">[3]</A>&nbsp;<A href="abc4.html">[4]</A>&nbsp;<A href="abc5.html">[5]</A>&nbsp;<A href="abc6.html">[6]</A>&nbsp;<A href="abc1.html">[7]</A>&nbsp;<A href="abc1.html">[8]</A>&nbsp;<A href="abc1.html">[9]</A>&nbsp;<A href="abc1.html">[10]</A>&nbsp;<A href="abc1.html">[11]</A>&nbsp;<A href="abc1.html"><FONT>下一页</FONT></A></div>用正则取出红标记样式,如下效果感谢1,abc1.html  上一页
2,abc1.html [1]
5,abc1.html [5]9,abc1.html [8]..........
..........
..........

解决方案 »

  1.   

                string s = "<div class=\"page\"><A href=\"abc1.html\"><FONT>上一页</FONT></A>&nbsp;<A href=\"abc2.html\">[1]</A>&nbsp;2&nbsp;<A href=\"abc3.html\">[3]</A>&nbsp;<A href=\"abc4.html\">[4]</A>&nbsp;<A href=\"abc5.html\">[5]</A>&nbsp;<A href=\"abc6.html\">[6]</A>&nbsp;<A href=\"abc1.html\">[7]</A>&nbsp;<A href=\"abc1.html\">[8]</A>&nbsp;<A href=\"abc1.html\">[9]</A>&nbsp;<A href=\"abc1.html\">[10]</A>&nbsp;<A href=\"abc1.html\">[11]</A>&nbsp;<A href=\"abc1.html\"><FONT>下一页</FONT></A></div>";
                string pattern = "<a\\s[\\s\\S]*?href=\"([^\"]*)\"[^>]*>([\\s\\S]*?)</a>";
                foreach (Match m in Regex.Matches(s, pattern, RegexOptions.IgnoreCase))
                {
                    string url = m.Groups[1].Value;
                    string title = Regex.Replace(m.Groups[2].Value, "<[^>]*>", "");
                    Console.WriteLine("{0} {1}", url, title);
                }
      

  2.   

    Console.WriteLine(Regex.Match(html,@"(?i)<a\shref=['""](?<href>.*?)['""].*?>上一页</a>").Groups["href"].Value);
      

  3.   

    1楼显不出来
    <A href="abc1.html"><FONT>上一页</FONT></A>&nbsp;<A href="abc2.html">[1]</A>
    有时第一页时是如下
    <A href="abc1.html">1&nbsp;</A>&nbsp;<A href="abc2.html">[1]</A>
      

  4.   

    1楼显不出来
    <A href="abc1.html"><FONT>上一页</FONT></A>&nbsp;<A href="abc2.html">[1]</A>
    有时第一页时是如下
    <A href="abc1.html">1&nbsp;</A>&nbsp;<A href="abc2.html">[2]</A>