返回字符串内,所有以“<a”开头,并且以“</a>”结尾的字符串。
其实我就是想得到一个页面内所有的链接地址和显示的文字。还有,一般的URI地址“http://community.csdn.net/Expert/PostNew.asp?room=5201”
我要得到“PostNew.asp”部分,也就是文件名,不含路径和后边的参数。哪位大哥能教教小弟,谢谢了!

解决方案 »

  1.   

    1) string pth = @"<a\s+.*?</a>";
    2) string ptn = @"<a\s+[^>]*(?<filename>/[a-zA-Z\.]+)\?"; 提取组filename
      

  2.   

    关注ing=================================================================
            角落里的理想
                    http://blog.csdn.net/zdsdiablo/
                                     --------十分钟年华老去
    =================================================================
      

  3.   

    2)有一个小误差,把那个“/”提前. :)
    string ptn = @"<a\s+[^>]*/(?<filename>[a-zA-Z\.]+)\?";
      

  4.   

    string ptn = @"<a\s+[^>]*/(?<filename>[a-zA-Z\.]+)\?";
                Regex reg = new Regex(ptn, RegexOptions.IgnoreCase);
                Match m = reg.Match("<a href=http://testinfo202/sites/apt/list/functioalnews/allitems.aspx?var=34>Test</a>");            Console.WriteLine(m.Groups["filename"].Value);
      

  5.   

    报告,测试了1) string pth = @"<a\s+.*?</a>";发现有<a开头没有</a>结尾的也能给找出来,在找原因中...=================================================================
            角落里的理想
                    http://blog.csdn.net/zdsdiablo/
                                     --------十分钟年华老去
    =================================================================
      

  6.   

    能不能写出具体代码啊?我没在.net下用过正则,第一个问题返回string[]吧,谢谢了!
      

  7.   

    个人常用的Reg参考:http://visibone.com/regular-expressions/
      

  8.   

    string ptn = @"<a\s+.*?</a>";
    Regex r = new Regex(ptn); // Split on hyphens.
    string[] s = r.Split("<a>123</a><a>1123</a><a>123</a><a>132</a>");
    MessageBox.Show(s[0]);
    MessageBox.Show(s[1]);
    MessageBox.Show(s[2]);这样不行呢?s[0]=“"<a>123</a><a>1123</a><a>123</a><a>132</a>"”就完了