2017-05-12 11 views
0

文字列にアルファベット(a-z & A-Z)が含まれているかどうかを検出しようとしていますが、this投稿から回答を得ました。期待通りではないすべての文字列は動作しますが、一例として、8 + Aを取る:Regexは一致を見つけられません

string expression = "8+a"; 
      if (Regex.IsMatch(expression, @"^[a-zA-Z]+$") == true) 
       true; 
      else 
       false; 

をこれが真であると仮定しているfalseを返します。この返品を真にするにはどうすればいいですか?ありがとう!

+5

アンカーを取り外します。文字列に1文字が含まれているかどうかを確認する必要がある場合は、正規表現を使用しないでください。 'if(s.Any(char.IsLetter)){...}' –

+0

^アンカーは '^'と '$'。 –

+0

あなたの正規表現は*のみ*にアルファベットが含まれているかどうかを確認します。 –

答えて

2

^正規表現を文字列の先頭に固定します。

$文字列の最後にアンカー。

これを削除すると、正規表現が機能します。

また、boolの値をtrueと自動的に比較するため、値を比較する必要はありません。

関連する問題