if (!Regex.IsMatch("1234567-8A","[0123456789]+-[0123456789K]{1}"))
Console.WriteLine("It is not match");
else
Console.WriteLine("It is match");
输出“ It is match”,但不应该。
为什么
{1}不起作用?
在
-之后,我想明确地指定1个字符(0或1或2或...或9或K)
请您参考如下方法:
您的正则表达式匹配,因为它是匹配项。您无需指定字符串的末尾,并且测试字符串的末尾确实有一位数字。尝试以下方法:
[0123456789]+-[0123456789K]{1}$
$表示字符串的结尾。
甚至更好的是,也使用
^作为字符串的开头:
^[0123456789]+-[0123456789K]{1}$
