5

私のc#アプリケーションでは、文字列を検証して、文字列に次のものだけが含まれていることを確認する必要があります。

  • 0-9
  • +
  • *
  • [
  • ]

ユーザーがDataGridViewコントロールのセルの文字列フィールドを編集するとき、値を検証する必要があります。私のCellValidatingイベントハンドラーは現在次のようになっています。

if (!Regex.IsMatch(e.FormattedValue.ToString(), @"\A\b[0-9]+\b\Z"))
{
    // notify the user that the string is invalid and cancel validation
    e.Cancel = true;
}

これは0〜9で機能するようですが、必要なすべてのメタ文字を含む正規表現をまだ機能させていません。既存の正規表現に一度に1つのメタ文字を追加しようとしましたが、機能しません。例えば...

if (!Regex.IsMatch(e.FormattedValue.ToString(), @"\A\b[0-9#]+\b\Z"))

...私が思っていたように#を許可しません。それを逃れることも違いはありませんでした。誰かが私のためにこれにいくつかの光を当てることができますか?

4

1 に答える 1

7

この正規表現を使用する^[0-9+#*\[\]]+$

于 2012-12-20T15:18:53.433 に答える