C#正则表达式返回括号中的数字

时间:2013-02-22 10:08:00

标签: c# regex

我有一个这样的字符串:

numbers(23,54)

输入格式如下:

numbers([integer1],[integer2])

如何使用正则表达式获取数字“23”和“54”?或者还有其他更好的方法吗?

2 个答案:

答案 0 :(得分:3)

您可以避免使用正则表达式,因此您的输入格式一致:

string input = "numbers(23,54)";
var numbers = input.Replace("numbers(", "")
                   .Replace(")", "")
                   .Split(',')
                   .Select(s => Int32.Parse(s));

甚至(如果你不害怕魔术数字):

input.Substring(8, input.Length - 9).Split(',').Select(s => Int32.Parse(s))

更新此处还有Regex版本

var numbers = Regex.Matches(input, @"\d+")
                   .Cast<Match>()
                   .Select(m => Int32.Parse(m.Value));

答案 1 :(得分:2)

是的,使用(\ d +)正确获取数字 这是正确的方法