字符串内容有可能为: mystat('nl',345) 或 mystat('sta',33)
现要用正则表达式取出其中的数字部分,怎么取?
用IndexOf的方法就不要说了

解决方案 »

  1.   

    @"(\d+)"
    匹配的第一个group就是
      

  2.   

    string t="mystat('nl',345)";
                System.Text.RegularExpressions.Regex reg= new System.Text.RegularExpressions.Regex("(\\d+)");
                System.Text.RegularExpressions.Match m = reg.Match(t);
                Console.WriteLine(m.Groups[0].Value);输出 345
      

  3.   

    Regex reg =new Regex(@"\d+");
                string str = "mystat('nl',345)";
                MatchCollection mc = reg.Matches(str);
                for (int i = 0; i < mc.Count; i++)
                    Console.WriteLine(mc[i].Value);
      

  4.   

    string a=""; //你的字符串
    Regex RegexNumber = new Regex(@"(?<=,)\d+(?=\))");
                string number = RegexNumber.Match(a).ToString();//number就是结果数字
      

  5.   

    可能我没说清楚,我要求,前面的字符是mystat('nl',才取数字,如果不是就返回别的值了
      

  6.   

    using System.Text.RegularExpressions;//程序集的引用放在程序最前面
    string a=""; //你的字符串
     Regex RegexNumber = new Regex(@"(?<=mystat\('(nl|sta)',)\d+(?=\))"); //这是前面为mystat('nl' 或 mystat('sta'时取数字            string number = RegexNumber.Match(a).ToString();//number就是结果数字