【发布时间】:2021-07-30 01:14:18
【问题描述】:
我搜索了互联网,甚至遵循了 RegEx 的文档,但无法解决问题。 我想验证一位数或两位数。 它应该只接受
用例 1:字符串 sDate= ",01,23,05,1,28,25";
用例 1:字符串 sDate= ",01,23,05,1,28,25,";
用例 1:字符串 sDate= "01,23,05,1,28,25,";
用例 1:字符串 sDate="01,23,05,1,28,25";
它不应该接受任何东西,即没有小数、字符、除逗号以外的特殊字符。 我用 C# 写了一段代码
string stDate=",01,23,05,1,28,25";
if (!string.IsNullOrEmpty(sDate))
{
Regex r = new Regex(@"^(\d+[,]\d*|\d*[,]\d+)$", RegexOptions.Compiled | RegexOptions.IgnoreCase);
if (r.IsMatch(sDate))
{
business logic
}
}
else
{
//business logic
}
我需要知道我哪里出错了。当我在字符串中输入一个字母时,它甚至会接受它。 任何帮助将不胜感激。 在此处输入代码 在此输入代码
【问题讨论】:
-
如果您验证整个输入,请使用
^,?\d+(?:,\d+)*,?$ -
仅用于验证 - @WiktorStribiżew's 的更改 -
^,?\d{1,2}(?:,\d{1,2})*,?$也获得匹配 -^,?(\d{1,2})(?:,(\d{1,2}))*,?$在这里测试它们:regexstorm.net/tester