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 に答える