Skip to main content
 首页 » 编程设计

c#之NET正则表达式:{1}不起作用

2024年01月16日39luoye11

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}$