特定位数的正则表达式

Muh*_*eda 4 c# regex

我想在C#中编写一个正则表达式,只输入特定数量的唯一数字.

就像写一个正则表达式来验证5位数一样,如"12345"

nha*_*tdh 32

使用以下正则表达式Regex.IsMatch方法

^[0-9]{5}$
Run Code Online (Sandbox Code Playgroud)

^并将$匹配锚定到字符串的开头和结尾(分别),以防止在长字符串的中间找到匹配,例如1234567890abcd12345efgh.

[0-9]指示字符类,它指定从一个字符范围09.范围由以指定字符开头和结尾的Unicode代码范围定义.该{5}身后跟着的是一个量词表明重复[0-9]5次.

注意,解决方案^\d{5}$只相当于上面的解决方案,当RegexOptions.ECMAScript指定时,否则,它将等同于\p{Nd},匹配任何Unicode数字 - 这里是类别中所有字符的列表Nd.您应该始终检查您正在使用的语言的文档,以了解速记字符类实际匹配的内容.

我强烈建议你仔细阅读文档.您可以使用其他资源,例如http://www.regular-expressions.info/,但请务必查看您正在使用的语言的文档.


Sin*_*ian 5

您可以在大括号中指定重复次数,如下所示:

\d{5}
Run Code Online (Sandbox Code Playgroud)

如果您希望整个输入匹配一个模式,请将它们括在^and 中$

^\d{5}$
Run Code Online (Sandbox Code Playgroud)