C# 用于验证分隔符分隔的数字的正则表达式

C# 用于验证分隔符分隔的数字的正则表达式,c#,regex,asp.net-mvc-3,C#,Regex,Asp.net Mvc 3,我需要一个正则表达式来用这些值验证表单的输入 例如: 123, 444,231, 2231 ... 对于这个循环,正则表达式的最佳方式是什么?如果我正确理解了您的问题,您想在数字上进行匹配吗 使用以下命令: ([0-9]{1,}+){1,} 这将匹配每个值。我可以向您建议以下内容。 ^(\s*\d+\s*,?)+$它考虑了CSV值的前导空格和尾随空格的可能性 编辑 我修改了表达式,这是新版本:^(\s*\d+\s*,)*(\s*\d+\s*){1}$在注释的情况下不会失败。需求的规范有点模糊

我需要一个正则表达式来用这些值验证表单的输入

例如:

123, 444,231, 2231 ...

对于这个循环,正则表达式的最佳方式是什么?

如果我正确理解了您的问题,您想在数字上进行匹配吗

使用以下命令:

([0-9]{1,}+){1,}

这将匹配每个值。

我可以向您建议以下内容。
^(\s*\d+\s*,?)+$
它考虑了CSV值的前导空格和尾随空格的可能性

编辑


我修改了表达式,这是新版本:
^(\s*\d+\s*,)*(\s*\d+\s*){1}$
在注释的情况下不会失败。

需求的规范有点模糊,但这可能是您想要的:

([1-9]\d{2,3},\s*)  //first one digit 1-9, followed by 2 to 3 other digits,a comma and zero or one whitespace
{0,}            //This pattern may occour 0 or more times, followed by...
([1-9]\d{2,3})  // one of these number without the trailing comma, only once.
^(\s*\d+\s*(?(?=,\s*\d),|))+$

它验证了以“,”分隔的数字序列,允许前导和尾随的白色字符,而不是以“,”开头和结尾。

你能澄清你的问题吗?值应该采用什么格式?但是,就我个人而言,我不会使用正则表达式。C#有一种基于字符串分隔符的本机拆分方法,在本例中是逗号。@Tomek,这是因为他没有给出任何数字之间没有逗号的示例。([1-9]\d{2,3}\s*,\s)将起作用。它也不能处理多个空间,因为在给出的示例中没有。相应地改变。