我想使用Regex匹配逗号分隔的整数列表。我使用了波纹管模式,但对我不起作用。

if (!Regex.IsMatch(textBox_ImportRowsList.Text, @"^([0-9]+(,[0-9]+))*"))
{
        errorProvider1.SetError(label_ListRowPosttext, "Row Count invalid!");
}


有效输入:

1
1,2
1,4,6,10


输入无效:

1,
1.1
1,A
2,/,1
,1,3

最佳答案

您将星号放在错误的位置。代替这个:

@"^([0-9]+(,[0-9]+))*"


...用这个:

@"^([0-9]+(,[0-9]+)*)"


另外,您应该像开始一样锚定结尾,并且实际上不需要最外面的括号:

@"^[0-9]+(,[0-9]+)*$"

关于c# - 正则表达式以匹配C#中的单独整数列表,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11326516/

10-11 20:36