2017-05-05 8 views
1

私は正規表現を初めて使用しており、構文検査の形式を作成しようとしています。私はコードを使用する場合:私の知る限りでは正規表現のヘルプ/少し理解

public Regex Injection = new Regex(@"(\w*\s*[,.()?':]*)", RegexOptions.IgnoreCase); 
public Match IdMatch; 
public Match PassMatch; 

をこれは、任意の数のどちらかの単語、スペース、または文字列でこれらの文字のいずれかがあることを意味します。このコードを使用する場合、私はその後、使用するので、

IdMatch = "001"; 
PassMatch = "123"; 

をしようとしている文字列:

if (IdMatch.Success || PassMatch.Success) 
     { 
      MessageBox.Show("Error, please try again"); 
     } 
else 
     { 
      // Continue code 
     } 

エラーが発生します。なぜ、これらの文字列は正規表現に違反しているのですか、または私は何かを誤解しましたか?申し訳ありませんが、これは簡単な質問です。何か助けていただければ幸いです。私が不明な点がある場合は、そう言いなさい。ありがとうございました。これに変るを追加

+0

あなたは 'IdMatch'と' PassMatch'を割り当てていますか? –

+0

'\ w * \ s *'は任意の数の単語の後に任意の数のスペースが続いていることを意味します。任意の数の単語やスペースが必要な場合は、 '[\ w \ s] *'を実行する必要があります。残りの文字については、その概念を展開してください。 – itsme86

+0

ifステートメントの直前。ボタンがクリックされ、すぐに割り当てられ、ifステートメントが発生します。 –

答えて

1

試してみてください。

String value1 = "001"; 
String value2 = "123"; 
public Regex reg1 = new Regex(value1, @"(\w*\s*\d+[,.()?':]*)"); 
public Regex reg2 = new Regex(value2, @"(\w*\s*\d+[,.()?':]*)"); 

if (reg1.Success || reg2.Success) ...