0

私は現在、C# で学生プロジェクトに取り組んでおり、文字列に次の文字のみが含まれているかどうかを確認したいと考えています。

AI 0-9 $ #

元の文字列:

string rawData ="$A008B20130503C103804D00000000E1022F0080G0128H022I022#";

私のコードは次のとおりです。

string regEXstring = @"^[A-I0-9$#]+$";
Regex regex = new Regex(regEXstring);
if (regex.IsMatch(rawData))
   {
       dataOK = true;
   }
   else
       dataOK = false;

私は何を間違っていますか?

4

1 に答える 1

1

rawdata/rawDataタイプミスを修正すると、コードは正常に動作します。dataOK変数はあなたのtrueサンプルデータでなりfalse、文字列に他の文字を追加すると.

サンプル データから判断すると、次のことも判断できるように検証を改善できます。

  • 文字列は $ で始まります
  • 文字列は # で終わります
  • 文字列に、1 文字の後に少なくとも 3 桁の数字が続くエンティティが含まれている

そのためには、次のようなパターンを使用します。

string regEXstring = @"^\$([A-I]\d{3,})+#$";
于 2013-05-03T08:56:45.817 に答える