想在html源代码中 用正则方法匹配出{ } 中的文本内容  用c#C#正则源代码

解决方案 »

  1.   

    Regex reg=new Regex(@"(?<={)[^{}]+(?=})");
    foreach(Match m in reg.Matches(yourhtml))
    {
      Console.WriteLine(m.Value);
    }
      

  2.   

    string html="sdsa{123}sa{df}sa";
    foreach(Match m in Regex.Matches(html,@"(?<=\{)[^{}]*?(?=\})"))
    {
      Console.WriteLine(m.Value);
    }
    如果{}中还包括{}可以用平衡组
    参考http://blog.csdn.net/lxcnn/article/details/4402808
      

  3.   

    string tempStr = File.ReadAllText(@"C:\Documents and Settings\Administrator\桌面\Test.txt", Encoding.GetEncoding("GB2312"));//读取txt
                    string pattern = @"\{((?<Open>\{)|(?<-Open>\})|[\s\S]*)(?(Open)(?!))\}";
                    foreach (Match m in Regex.Matches(tempStr, pattern))
                    {
                        string value = m.Value;//
                    }
      

  4.   

    平衡组   string html =@"sdsa{123}sa{df}sa";//读取txt
                string pattern = @"\{((?<Open>\{)|(?<-Open>\})|[^{}])*(?(Open)(?!))\}";
                foreach (Match m in Regex.Matches(html, pattern))
                {
                   Console.WriteLine(m.Value);
                }
      

  5.   

    这就和正则没有关系了,你看看你的 DocumentText里边值是不是乱码了
      

  6.   

    恩  是我编码错了 用了encoding 就好了 谢谢