<div class="pages" id="pageDivBottom"><a href="http://www.tianya.cn/publicforum/content/free/1/1744666.shtml">首页</a><a href="http://www.tianya.cn/publicforum/content/free/1/1744666.shtml">1</a>简单吧?就这html
正则:<a href="(?<url>.*)">(?<page>\d+)</a>我想匹配出:
<a href="http://www.tianya.cn/publicforum/content/free/1/1744666.shtml">1</a>但结果却是:
<a href="http://www.tianya.cn/publicforum/content/free/1/1744666.shtml">首页</a><a href="http://www.tianya.cn/publicforum/content/free/1/1744666.shtml">1</a>真心求解??????????

解决方案 »

  1.   

    <a href=".*?">.*?</a><a href="(?<url>.*?)">(?<page>\d+?)</a>
    完全写出来吧 你反正分组取的url和page 不然前面那个a也能匹配样 嗯 暂时就想到这里 等高手
      

  2.   

    string s = @"<div class=""pages"" id=""pageDivBottom""><a href=""http://www.tianya.cn/publicforum/content/free/1/1744666.shtml"">首页</a><a href=""http://www.tianya.cn/publicforum/content/free/1/1744666.shtml"">1</a>";
    Match match = Regex.Match(s, @"(?is)(?<=div[^>]+id=""pageDivBottom""><a[^>]+>.*?</a>)<a[^>]+>.*?</a>");
    Response.Write(Server.HtmlEncode(match.Value));
      

  3.   

    完全写出来不可能。因为后边还有很多分页html 7页 8 页 9页
    我只是截取了一段
      

  4.   

    <a href=([^>]+?)>(\d+)</a>这个可以
      

  5.   

                var str = "<a href='http://www.tianya.cn/publicforum/content/free/1/1744666.shtml'>首页</a><a href='http://www.tianya.cn/publicforum/content/free/520/1744666.shtml'>1</a>";
                var reg = /<a href=[^>]+?>\d+<\/a>$/;
                alert(str.match(reg));