本帖最后由 yanglong030 于 2011-08-25 15:11:46 编辑

解决方案 »

  1.   

    string pattern = @"(?:\(ylcms:)(.)(?:/\))";捕获的Match.Groups[1],就是在(ylcms:...../)中的部分
      

  2.   

                string str=@"(ylcms:title type=""aaa"" number=""20"" /)";
                Regex reg = new Regex(@"(?<=\(ylcms:\s*?)[^\)/]+(?=/?\))");
                foreach (Match m in reg.Matches(str))
                    Console.WriteLine(m.Value);
      

  3.   

    黄老师:如果我把(ylcms: /)改成{ylcms: /}难改吗?这正则我一点不懂啊?
      

  4.   

    你是要(ylcms: /)和{ylcms: /}这个都要可以匹配到是吗?
      

  5.   

    不这个意思啊.
    我是说你现在给我的是以()为例来写的咯,
    我想用{ylcms: ../}重新写一个?
      

  6.   

                string str = @"(ylcms:title type=""aaa"" number=""20"" /)sdfasdf{ylcms:title type=""aaa"" number=""20"" /}";
                Regex reg = new Regex(@"(?<=[\(\{]ylcms:)[^\(\)\{\}/]+?(?=/?[\)\}])");
                foreach (Match m in reg.Matches(str))
                    Console.WriteLine(m.Value);
      

  7.   

    可以自己拼
    StringBuilder patternBuilder = new StringBuilder();
    patternBuilder.Add("(?<=");
    patternBuilder.Add(Regex.Escape("前面一段"));
    patternBuilder.Add(@")[\s\S]*?(?=");
    patternBuilder.Add(Regex.Escape("后面一段"));
    patternBuilder.Add(")");
    string pattern = patternBuilder.ToString();
    用这个pattern构造正则对象就可以了。随便替换前后文字
      

  8.   

    强人出现拉,这淫好久没出现在csdn了
      

  9.   

    http://blog.csdn.net/wuyazhe
    http://blog.csdn.net/lxcnn
    你看下这两尊大婶的blog,有讲解。