1

我见过某种正则表达式测试,但是如何检查字符串是否不包含任何 0-9 数字或 AZ 字符?

4

3 回答 3

12

您不需要正则表达式:

string s = ...
bool hasLetterOrDigit = s.Any(c => char.IsLetterOrDigit(c));

bool onlyLetterOrDigit = s.All(c => char.IsLetterOrDigit(c));

IsLetterOrDigit()函数使用 Unicode 分类 ( MSDN )。

如果您想要精确控制:

string s = ...
string allowedChars = "abcdefABCDEF0123456789";

bool onlyAllowedChar = s.All(c => allowedChars.Contains(c));
于 2012-11-07T12:46:39.717 回答
2

尝试使用正则表达式

bool Exists=Regex.IsMatch(input, @"[^A-Z0-9]+");
于 2012-11-07T12:51:32.103 回答
1

就像是...

if ((Regex.IsMatch(value, "[^A-Z0-9]+")
{
   //do something
}

编辑:更改为符合马特的建议。

于 2012-11-07T12:48:00.713 回答