[英]C# Regex: Checking for “a-z” and “A-Z”
我想检查是否在az或AZ之间的字符中输入了一个字符串。 不知怎的,我的正则表达似乎没有把它拿起来。 它总是返回true。 我不确定为什么,我收集它与我如何编写正则表达式有关。 任何帮助,将不胜感激。
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]+$");
^
字符串的开头 []
字符集 \\+
一次或更多 $
字符串的结尾 ^
和$
需要因为你想要验证所有字符串,而不是字符串的一部分
正确的方法是这样的:
private static bool isValid(String str)
{
return Regex.IsMatch(str, @"^[a-zA-Z]+$");
}
此代码具有以下好处:
使用
Regex.IsMatch(@"^[a-zA-Z]+$");
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.