string = "asfdasdf[Csdn adfjasdfsd  [/Csdn] fsdfsadf[Csdn f发的房间阿]卡了房间按时打发就 [/Csdn]爱的发声的健康了就 "
求一个正则字符串,匹配以"[Csdn"开头 ,以"[/Csdn]"结尾,得到标记和标记以内的字符
[Csdn adfjasdfsd  [/Csdn]
[Csdn f发的房间阿]卡了房间按时打发就 [/Csdn] 

解决方案 »

  1.   

                string strContent = @"asfdasdf[Csdn adfjasdfsd  [/Csdn] fsdfsadf[Csdn f发的房间阿]卡了房间按时打发就 [/Csdn]爱的发声的健康了就 ";            
                Regex reg = new Regex(@"(?is)\[csdn.*?\[/csdn\]");            Console.WriteLine("/*\n------输出结果------------");            MatchCollection mc = reg.Matches(strContent);
                foreach (Match m in mc)
                {
                   Console.WriteLine(m.Groups[0].Value );
                }
                /*
                ------输出结果------------
                [Csdn adfjasdfsd  [/Csdn]
                [Csdn f发的房间阿]卡了房间按时打发就 [/Csdn]
                */
      

  2.   

      MatchCollection mc =  
    Regex.Matches(str,@"\[csdn.*?\[/csdn\]",regexoptions.ignorecase););
                foreach (Match m in mc)
                {
                   Console.WriteLine(m.Value );
                }
      

  3.   

    \bCsdn(\w*)Csdn\b
    测试通过了的