string s = @"............................
.............{26}......
.....{33}.......
.........................
............{10}....
..........................
........................";
            MatchCollection ms = Regex.Matches(s, @"\{(\d*?)\}");
            foreach (Match m in ms)
            {
                Console.WriteLine(m.Groups[1].Value);
            }

解决方案 »

  1.   


    //匹配的正则表达式
                Regex r = new Regex(@"([1-9]\d*\.?\d*)|(0\.\d*[1-9])");
                Match m = r.Match(this.textBox1.Text);
                while (m.Success)
                {
                    //匹配成功
                    this.listBox1.Items.Add(m.Groups[0].Value);
                    //从上一个匹配结束的位置开始下一个匹配
                    m = m.NextMatch();
                }
      

  2.   


                Regex rg = new Regex(@"(\{\d*\})");
                Match ma = rg.Match(textBox1.Text);
                 while (ma.Success)
                 {
                     string st = ma.Groups[0].Value.ToString(); //447888888888888888888888888888888888888?d/aDaa
                     string sts = ma.Groups[1].Value.ToString(); //447888888888888888888888888888888888888?d/aDaa
                 }
      

  3.   


    匹配多个用下面方法Regex rg = new Regex(@"(\{\d*\})");
                MatchCollection m = rg.Matches(textBox1.Text);
                foreach (Match ma in m)
                 {
                     string st = ma.Value; 
                 }