/string str = "<?xml version=\"1.0\" encoding=\"gb2312\"?>\r\n" +
            //    "<!DOCTYPE wml PUBLIC \"-//WAPFORUM//DTD WML 1.1//EN\" \"http://www.wapforum.org/DTD/wml_1.1.xml\">\r\n" +
              "<wml>\r\n<head>\r\n<meta http-equiv='Cache-Control' content='no-cache'/>\r\n</head>" +
               "<card id=\"main\" title=\"小说阅读网-免费、言情、校园、玄幻、武侠等手机小说在线阅读\">\r\n\r\n\r\n" +
              "<p align=\"left\"><a href=\"http://wap.readnovel.com/login.html?ui=0&amp;sid=\">登录</a> <a href=\"http://wap.readnovel.com/web/login.php?ui=0&amp;sid=&amp;a=register\">注册</a><br/>\r\n\r\n<br/>\r\n<a href=\"/?ui=0&amp;sid=\"><img src=\"http://wap.readnovel.com/web/images/logo.gif?i=1019\" alt=\"readnovel.com\"/></a>\r\n<br/>\r\n\r\n<a href=\"http://wap.readnovel.com/mm.html?ui=0&amp;sid=\">女生版</a>\r\n<a href=\"http://wap.readnovel.com/fy.html?ui=0&amp;sid=\">男生版</a><br/><br/>\r\n\r\n【当前热门】<br/>\r\n[<a href=\"http://wap.readnovel.com/ch/122.html?ui=0&amp;sid=\">穿 "</card>\r\n</wml>";有这样一段字符串 ,如何用C#的正则表达式获取<card>xxx</card>之间的内容,<card id='' title=''>xxx</card>这种格式也能匹配

解决方案 »

  1.   

    try...            Regex reg = new Regex(@"(?is)<card[^>]*>(.*?)</card>");
                MatchCollection mc = reg.Matches(yourStr);
                foreach(Match m in mc)
                {
                    richTextBox2.Text += m.Groups[1].Value + "\n";
                }
      

  2.   

    (?<=\<card[^\>]*\>)[^\>\<]+(?=\</card\>)
      

  3.   

    Regex reg = new Regex(@"(?is)<card[^>]*>(.*?)</card>");