我尝试了几十个代码并使用了regexlib中的一些代码,但下面的代码截断数据而不是选择正确的代码
string pattern = @"(\d{1,3}(\,\d{3})*|(\d+))(\.\d{2})";
string input = "The numbers are 340.1 1,989.50 2,8000,100.50 3.5000 15.001 15.1";
MatchCollection collection = Regex.Matches(input, pattern);
foreach (Match m in collection)
{
Console.WriteLine(m.Value);
}
结果是:
我想只匹配此类型的数字:1.00 100.00 1,000.00 100,000.00。其余的都应该被忽视。目前x.000也被采取并截断 谢谢!
ADDED 我设法通过添加空间停止使用3.5000和15.001。但仍无法处理 2,8000,100.50
(\d{1,3}(\,\d{3})*|(\d+))(\.\d{2} )