我需要检查string
是否恰好包含5个字符。如果是这样,我需要返回true。
string name = "Perry";
我只需要在这里使用正则表达式。
var re = Regex.Match(name, "^.{1,5}$");
但是,如果字符在1和5范围内,则返回true。我期望只有包含5个字符的结果才返回true。我该怎么办?
答案 0 :(得分:4)
^.{1,5}$
表示您的字符串可以包含1到5个字符。您可以使用^.{5}$
精确输入5个字符。
答案 1 :(得分:1)
Regex.IsMatch("Perry", "^.{5}$");
答案 2 :(得分:0)
我想,您可以简单地做到这一点:
string name = "Perry";
if(name.Length == 5)
.{5}
将匹配5个长度的任何字符。如果只需要字母数字字符,则可以使用:
^[A-Za-z0-9]{5}$
答案 3 :(得分:0)
我希望结果仅在包含5个字符的情况下才返回true。
但是哪些字符有效? \n
在这里有效吗?
如是;然后使用^[\S\s]{5}$
之类的正则表达式代替
^ asserts position at start of the string
[\S\s] matches any whitespace or non-whitespace character
{5} matches exactly 5 times
$ asserts position at the end of the string
可能有意义的其他一些选择是:
. 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 ])