我有一个文本框。
我想在其中设置允许特殊字符。
例如,我想在索引 0 处插入一个 '+'|'-' 然后是多个数字
+12 , -324
我将此代码设置为数字
Regex regex = new Regex("[^0-9]+");
如何只设置一个字符'+' || '-' 在它之前。
如果您希望在框的末尾恰好有一个+
或-
,而不是其他任何地方,那么您的输入字符串必须与以下表达式匹配。
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]+$");