-2

テキストボックスがあります。

特別な文字を許可するように設定したい。

たとえば、インデックス0に「+」|「-」を1つ挿入してから、複数の番号を挿入します。

+12、-324

このコードを番号に設定しました

  Regex regex = new Regex("[^0-9]+"); 

1文字のみを設定する方法'+'|| '-' その前に。

4

2 に答える 2

1

正確に 1 つ+または-ボックスの最後に配置し、それ以外の場所には配置しない場合は、入力文字列が次の式と一致する必要があります。

Regex regex = new Regex("^[0-9]+[+-]$");

繰り返しますが、有効であるためには、文字列がこれと一致する必要があります。元の式では、文字列が一致すると無効になるようです。

ボックス内の単一+または任意の- 場所が必要な場合は、次を使用できます。

Regex r = new Regex("^[0-9]+[+-][0-9]+$"); //requires digits before/after sign
Regex r = new Regex("^[0-9]+[+-][0-9]*$"); //requires digits before sign
Regex r = new Regex("^[0-9]*[+-][0-9]+$"); //requires digits after sign
Regex r = new Regex("^[0-9]*[+-][0-9]*$"); //doesn't require digits
于 2012-10-22T07:16:07.143 に答える
0

あなたが考えるよりも簡単です:

Regex regex = new Regex("^[0-9+-]+$");

-文字どおりに解釈したい場合は、 が文字クラスの最後にあることを確認してください。

編集: 単一の + または - を最初に許可し、それ以外の場所には許可しない場合は、これを試してください:

Regex regex = new Regex("^[+-][0-9]+$");
于 2012-10-22T07:07:27.557 に答える