例如,我想计算使用正则表达式的字符串中有多少个数字:[0-9]
答案 0 :(得分:15)
Regex.Matches(text, pattern).Count
答案 1 :(得分:4)
Regex.Matches(input, @"\d").Count
由于这将为每个匹配分配一个Match实例,因此这在性能方面可能是次优的。我的直觉是做以下事情:
input.Count(Char.IsDigit)
答案 2 :(得分:2)
var a = new Regex("[0-9]");
Console.WriteLine(a.Matches("1234").Count);
Console.ReadKey();
答案 3 :(得分:0)
在RegEx上调用Matches方法返回的MatchCollection实例将为您提供匹配数的计数。
然而,我怀疑它可能不是错误的计数,但你可能需要更具体的正则表达式(使其不那么贪婪),以确定你想要的匹配的具体实例
你现在拥有的 应该为你提供一个字符串中单个数字的所有实例,那么你得到的结果是你认为不正确吗?如果是这样,你能提供字符串和正则表达式吗?
答案 4 :(得分:-1)
var regex = new Regex(@"\d+");
var input = "123 456";
Console.WriteLine(regex.Matches(input).Count); // 2
// we want to count the numbers, not the number of digits