C# 使用匹配计算字符串字符的正则表达式

C# 使用匹配计算字符串字符的正则表达式,c#,regex,C#,Regex,我需要检查字符串是否正好包含5个字符。如果是这样,我需要返回true string name = "Perry"; 我只需要在这里使用正则表达式 var re = Regex.Match(name, "^.{1,5}$"); 但是,如果字符在范围1和5内,则返回true。我期望的是,只有当结果包含5个字符时,它才会返回true。我该怎么做?^。{1,5}$表示字符串可以包含1到5个字符。您可以使用^.{5}$精确地表示5个字符。^.{1,5}$表示您的字符串可以包含1到5个字符。您可以使用

我需要检查字符串是否正好包含5个字符。如果是这样,我需要返回true

string name = "Perry";
我只需要在这里使用正则表达式

 var re = Regex.Match(name, "^.{1,5}$");

但是,如果字符在范围1和5内,则返回true。我期望的是,只有当结果包含5个字符时,它才会返回true。我该怎么做?

^。{1,5}$表示字符串可以包含1到5个字符。您可以使用^.{5}$精确地表示5个字符。

^.{1,5}$表示您的字符串可以包含1到5个字符。您可以使用^.{5}$5个字符。

我想,您可以简单地执行以下操作:

string name = "Perry";
if(name.Length == 5)
.{5}将匹配任何长度为5的字符。如果您只需要字母数字字符,则可以使用:

^[A-Za-z0-9]{5}$

我想,你可以这么做:

string name = "Perry";
if(name.Length == 5)
.{5}将匹配任何长度为5的字符。如果您只需要字母数字字符,则可以使用:

^[A-Za-z0-9]{5}$
我期望的是,只有当结果包含5个字符时,它才会返回true

但哪些字符是有效的?\n此处是否为有效字符? 若有,;然后改用类似^[\S\S]{5}$的正则表达式

其他一些可能有意义的选择包括:

我期望的是,只有当结果包含5个字符时,它才会返回true

但哪些字符是有效的?\n此处是否为有效字符? 若有,;然后改用类似^[\S\S]{5}$的正则表达式

其他一些可能有意义的选择包括:

OP explicit表示此处仅使用正则表达式OP explicit表示此处仅使用正则表达式
.       matches any character (except for line terminators) ([\r\f\v] are also valid here)   
\w      matches any word character (equal to [a-zA-Z0-9_]) -> recommended
\S      matches any non-whitespace character (equal to [^\r\n\t\f\v ])