<a href=search.asp?key1=1&type=1>[刷新]</a>
像这样的,用怎样的正则表达式能提取出search.asp?key1=1&type=1,只要这些,其他的字符都不要提取出来,哪位有学习正则表达式的资料,我看MSDN的觉得太难了,元素好记,总是灵活运用不了

解决方案 »

  1.   

    ([^href=].+)href=([^>].+)>(.+)$ 这个是href='url'没有'的。
      

  2.   

    MatchCollection mc = Regex.Matches(yourStr, "<a\\s+href=(?<url>.+?)>\\[刷新\\]</a>");
    foreach(Match in mc)
    {
        m.Groups["url"].Value;//
    }
      

  3.   

    <a\\s+href=(?<url>.+?)>\\[刷新\\]</a>
    能匹配出来么?
    我怎么没试出来?
      

  4.   

    string yourStr = "<a href=search.asp?key1=1&type=1>[刷新]</a>";
    MatchCollection mc = Regex.Matches(yourStr, "<a\\s+href=(?<url>.+?)>\\[刷新\\]</a>");
    foreach(Match m in mc)
    {
        Console.WriteLine(m.Groups["url"].Value);
    }
    ================================
    没问题。
      

  5.   

    <a href=search.asp?thepagenum=1>[刷新]</a>&nbsp;<a href=search.asp?thepagenum=0>[上一页]</a>&nbsp;<a href=search.asp?thepagenum=2>[下一页]</a>&nbsp;<a href=search.asp?thepagenum=1>[首页]</a>&nbsp;<a href=search.asp?thepagenum=57>[尾页]</a>把"刷新"改成"下一页"从这段字符串里用楼上的提出来的是search.asp?thepagenum=1>[刷新]</a>&nbsp;<a href=search.asp?thepagenum=0>[上一页]</a>&nbsp;<a href=search.asp?thepagenum=2怎样从这段字符里提取出下一页的链接呢?
      

  6.   

    我明白了,改了一下后可以提取了,不过不觉得是个好方法,我改成这样了:string mm = "\\[上一页\\]</a>&nbsp;<a\\s+href=(?<url>.+?)>\\[下一页\\]</a>";
    先不结贴,哪位有更好的方法可以再贴上来,我明天再来结贴
      

  7.   

    string yourStr = ......;
    MatchCollection mc = Regex.Matches(yourStr, "<a\\s+href=(?<url>.+?)>(?<text>.*?)</a>");
    foreach(Match m in mc)
    {
        m.Groups["url"].Value;//链接
        m.Groups["text"].Value;//链接上显示的文字
    }