-2

我有一个文本框。

我想在其中设置允许特殊字符。

例如,我想在索引 0 处插入一个 '+'|'-' 然后是多个数字

+12 , -324

我将此代码设置为数字

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

如何只设置一个字符'+' || '-' 在它之前。

4

2 回答 2

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 回答