我想在 C# 中编写一个只输入特定数量的唯一数字的正则表达式。
就像写一个正则表达式来验证 5 位数字,比如“12345”
将以下正则表达式与Regex.IsMatch
方法一起使用
^[0-9]{5}$
^
并将$
匹配锚定到字符串的开头和结尾(分别),以防止在长字符串的中间找到匹配,例如1234567890
or abcd12345efgh
。
[0-9]
表示一个字符类,它指定从0
到的字符范围9
。该范围由以指定字符开头和结尾的 Unicode 代码范围定义。{5}
后面是一个量词,表示重复[0-9]
5次。
请注意, 的解决方案^\d{5}$
仅等效于上述解决方案,RegexOptions.ECMAScript
指定了 when ,否则将等效于\p{Nd}
,它匹配任何 Unicode 数字 - 这里是category中所有字符的列表Nd
。您应该始终检查您使用的语言的文档,以了解速记字符类实际匹配的内容。
我强烈建议您通读文档。您可以使用其他资源,例如http://www.regular-expressions.info/,但请务必查看您所使用语言的文档。
您可以指定大括号中的重复次数,如下所示:
\d{5}
如果您希望整个输入匹配一个模式,请将它们括在^
and中$
:
^\d{5}$
这个表达式应该通过
\d{5}[^\d]+