现在有一串字符类似下面这样
"1.abd 2.bce 3.hesdss 4.adfaa"我想得到匹配空格+数字+"."这一串(例如" 2.")的第一个匹配的起始位置,
然后把这一子串取出来,用正则该如何做,谢谢!

解决方案 »

  1.   

    "1.abd 2.bce 3.hesdss 4.adfaa".split(" ")不可以么?正则的话用(\d+\.\S+)
      

  2.   


    Regex reg = new Regex(@"(\d+\.)\S+");
                string w = "1.abd 2.bce 3.hesdss 4.adfaa";
                MatchCollection mc=reg.Matches(w);
                foreach (Match var in mc)
                {
                    string x = var.Groups[1].Value;
                    Console.WriteLine(x+" position:"+w.IndexOf(x));                 
                }
      

  3.   

    楼主既然一定要正则,就用上面的代码好了其实还是用split更简单
      

  4.   

    用4楼就可以了
    不过注意数字前面有一空格的话表达式稍微改一下
    Regex reg = new Regex(@"\s+\d+\.");