日期:2014-05-16  浏览次数:20787 次

求教一个正则问题
1    0.2017 | |  ? | | 
2    0.1698踻 |  |  | | 
3    10.1966 | | 眧  | | 


如上,如何取出上述数据中数字部分
结果
0.2017
0.1698
10.1966
------解决方案--------------------
 string text = @"1    0.2017 
------解决方案--------------------
 
------解决方案--------------------
  ? 
------解决方案--------------------
 
------解决方案--------------------
 
2    0.1698踻 
------解决方案--------------------
  
------解决方案--------------------
  
------解决方案--------------------
 
------解决方案--------------------
 
3    10.1966 
------解决方案--------------------
 
------解决方案--------------------
 眧  
------解决方案--------------------
 
------解决方案--------------------
 ";
            var list = Regex.Matches(text,@"(?<=\d+\s*?)\d+(\.\d+)?").Cast<Match>().Select(a=>a.Value).ToList();
            /*
             *  [0] "0.2017" string
            [1] "0.1698" string
            [2] "10.1966" string

             */

------解决方案--------------------
Regex reg = new Regex(@"\d*[.]?\d*");
------解决方案--------------------
Regex reg = new Regex(@"\d+(\.\d+)?");
------解决方案--------------------
Regex reg = new Regex(@"\d+(\.\d+)?"); 
------解决方案--------------------
/^([0-9.]*)/
一个简单点的
------解决方案--------------------
new Regex("[.0-9]+", RegexOptions.Singleline)