I want to check if a string inputted in a character between az or AZ. Somehow my regular expression doesn't seem to pick it up. It always returns true. I am not sure why, I gather it has to do with how I am writing my regular expression. Any help would be appreciated.
private static bool isValid(String str)
{
bool valid = false;
Regex reg = new Regex((@"a-zA-Z+"));
if (reg.Match(str).Success)
valid = false;
else
valid = true;
return valid;
}
Regex reg = new Regex("^[a-zA-Z]+$");
^
start of the string []
character set \\+
one time or the more $
end of the string ^
and $
needed because you want validate all string, not part of the string
The right way would be like so:
private static bool isValid(String str)
{
return Regex.IsMatch(str, @"^[a-zA-Z]+$");
}
This code has the following benefits:
使用
Regex.IsMatch(@"^[a-zA-Z]+$");
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.