第一个替换一下html文档
  <table class="CSDN-PHF" border="0" cellspacing="1" cellpadding="0">
                <tr>                    <td>
                        <a rel="mz" href="http://www.csdn.net/">首页</a>
                    </td>
                    <td>
                        <a rel="mz" href="http://news.csdn.net/">新闻</a>
                    </td>
                    <td>
</tr>
</table>
替换后为 
 <table class="CSDN-PHF" border="0" cellspacing="1" cellpadding="0">
                <tr>                    <td>
                        首页 
                    </td>
                    <td>
                        新闻 
                    </td>
                    <td>
</tr>
</table>
-----------------------第二个有点难,--------------------------------------------- 
一、选择题(本题共13小题,在每小题给出的四个选项中,只有一项是符合题目要求的。)
1.为了验证胰岛素具有降低血糖含量的作用,在设计实验方案时,如果以正常小鼠每次注射药物前后小鼠症状的变化为观察指标,则下列对实验组小鼠注射药物的顺序。正确的是A.先注射胰岛素溶液,后注射葡萄糖溶液
B.先注射胰岛素溶液,再注射胰岛素溶液
C.先注射胰岛素溶液,后注射生理盐水
D.先注射生理盐水,后注射胰岛素溶液2.某水池有浮游动物和藻类两个种群,其种群密度随时间变化的趋势如图,若向水池中投放大量专食浮游动物的某种鱼(丙),一段时期后,该水池甲、乙、丙三个种群中公剩一个种群。下列关于该水池中上述三个种群关系及变化的叙述,正确的是[A] 甲和丙既有竞争关系又有捕食关系,最终仅剩下甲种群
[B] 甲和乙既有竞争关系又有捕食关系,最终仅剩下丙种群
[C] 丙和乙既有竞争关系又有捕食关系,最终仅剩下甲种群
[D] 丙和乙既有竞争关系又有捕食关系,最终仅剩下丙种群3.下列关于细菌的叙述,错误的是A) 硝化细菌能以NH,作为氮源和能源物质
B) 某些细菌可以利用光能因定CO2合成有机物
C) 生长因子是某些细菌生长过程中需要额外补弃的营养物质
D) 含伊红和美蓝试剂的培养基不能用来签别牛奶中的大肠杆菌
 
 
功能是输出上面3个问题。 
怎么 一一对应选择项打印出来呢?用一个循环
string question = 取出来的问题
string options = 取出来的选项(!!!注意 选项前面字母符号可不一样 A. [A] A)Console.WriteLine(question);
Console.WriteLine(options);以C#语言配合正则表达式实现 

解决方案 »

  1.   

    http://topic.csdn.net/u/20090205/16/93863241-93D9-4F2E-A788-6C3F7468A94C.html
      

  2.   

    public static void Main(String[]args){
                String str = @"<a href=>huangls</a>";
                String pattern = @"<a.+?>([.\s\S]*?)</a>";
                Regex reg = new Regex(pattern, RegexOptions.Multiline | RegexOptions.IgnoreCase);
                Console.WriteLine("替换前:" + str);            Console.WriteLine("替换后:" + reg.Replace(str, "$1"));
                Console.Read();
                
            }第一道题目
      

  3.   

    第一个: string text = @"<table class=""CSDN-PHF""border=""0"" cellspacing=""1""cellpadding=""0""><tr> <td><a rel=""mz""href=""http://www.csdn.net/"">首页 </a></td><td><a rel=""mz""href=""http://news.csdn.net/"">新闻 </a></td><td></tr> </table>";
                string regex = @"<a[^>]*>(?<title>[^<]*)</a>";
                MatchCollection matchs = Regex.Matches(text,regex);
                foreach(Match match in matchs)
                {
                    text = text.Replace(match.Groups[0].Value,match.Groups["title"].Value);
                }
      

  4.   

    [color=#993300]
    1.为了验证胰岛素具有降低血糖含量的作用,在设计实验方案时,如果以正常小鼠每次注射药物前后 小鼠症状的变化为观察指标,则下列对实验组小鼠注射药物的顺序。正确的是 A.先注射胰岛素溶液,后注射葡萄糖溶液 
    B.先注射胰岛素溶液,再注射胰岛素溶液 
    C.先注射胰岛素溶液,后注射生理盐水 
    D.先注射生理盐水,后注射胰岛素溶液 string question = Regex.Match("题目",@"^\d*\.[^A]*").Value;
    string options = Regex.Match("答案", @"A[\s\S]*D.*").Value;
    [color=#993300]题目2[/code]
    string question = Regex.Match("题目",@"^\d*\.[^[]*").Value;
    string options = Regex.Match("答案", @"[A[\s\S]*D.*").Value;[/code]
    [color=#993300]题目3[/code]
    string question = Regex.Match("题目",@"^\d*\.[^[]*").Value;
    string options = Regex.Match("答案", @"A[\s\S]*D.*").Value;[/code]
      

  5.   

    1.
      string sptn = @"<a[^>]+>([^<]+?)</a>";
                s = Regex.Replace(s, sptn, "$1");
                Console.WriteLine(s);
    2.sptn = @"(?<=\n\s+)(\d+\.[\s\S]+?)([\[]*A[\].\)][\s\S]+?)(?=(\n\s+\d+\.|$))";
                Match m = Regex.Match(s, sptn);
                while (m.Success)
                {
                    Console.WriteLine(m.Groups[1].Value.Trim());//题目
                    Console.WriteLine(m.Groups[2].Value.Trim());//选项
                    m = m.NextMatch();
                }
    s为相应字符串
      

  6.   

    第一个问题没必要全匹配,那样效率低string result = Regex.Replace(yourStr, @"</?a[^>]*>", "", RegexOptions.IgnoreCase);
    Console.WriteLine(result);
    Console.ReadLine();第二个问题要看你以什么做为选择项结束的标准了,如果到下一题或字符串结尾MatchCollection mc = Regex.Matches(yourStr, @"(?<question>\d+\.((?!\[?A[).\]])[\s\S])*)(?<options>(\[?[A-D][).\]]((?!\[?A[).\]]|\d+\.)[\s\S])*)+)", RegexOptions.IgnoreCase);
    foreach (Match m in mc)
    {
        Console.WriteLine(m.Groups["question"].Value);
        Console.WriteLine(m.Groups["options"].Value);
    }
    Console.ReadLine();如果选择项可以保证不换行
    MatchCollection mc = Regex.Matches(test, @"(?<question>\d+\.((?!\[?A[).\]])[\s\S])*)(?<options>(\[?[A-D][).\]].+\n)+)", RegexOptions.IgnoreCase);
    foreach (Match m in mc)
    {
        Console.WriteLine(m.Groups["question"].Value);
        Console.WriteLine(m.Groups["options"].Value);
    }
    Console.ReadLine();