テキストボックスがあります。
特別な文字を許可するように設定したい。
たとえば、インデックス0に「+」|「-」を1つ挿入してから、複数の番号を挿入します。
+12、-324
このコードを番号に設定しました
Regex regex = new Regex("[^0-9]+");
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
あなたが考えるよりも簡単です:
Regex regex = new Regex("^[0-9+-]+$");
-
文字どおりに解釈したい場合は、 が文字クラスの最後にあることを確認してください。
編集: 単一の + または - を最初に許可し、それ以外の場所には許可しない場合は、これを試してください:
Regex regex = new Regex("^[+-][0-9]+$");