我想使用正则表达式验证一个数字..条件是数字可以从任何负3位数值到正3位数。但不能为零。
有人可以帮助我获得正则表达式。
答案 0 :(得分:11)
有 它可以或不以负号开头,后跟1到9之间的数字,然后可以是0到2之间的任何数字。
^\-?[1-9]\d{0,2}$
更新:以下正则表达式也允许小数
^\-?[1-9]\d{0,2}(\.\d*)?$
答案 1 :(得分:1)
假设您正在处理整数,并且您的号码不与其他文本混合,您可以试试这个
^-?[1-9][0-9]{0,2}$
我同意Anon,如果你有可预测的输入,那么读取String并将其转换为int以进行比较要好得多。
答案 2 :(得分:0)
我在django url中有一些关于正则表达式的实验,这需要从负数到正数
^(?P<pid>(\-\d+|\d+))$
让我们关注这个(\-\d+|\d+)
部分并忽略其他部分,这个分号|
在正则表达式中表示 OR ,然后如果我们得到负值,它将是与此\-\d+
部分匹配,以及此\d+
部分
答案 3 :(得分:0)
我认为在上述所有输入中都允许-2-22,2-22这是一个小错误。回顾这个: -
[\-]?[0-9]*$/
更小:
/^[\-]?\d*$/
答案 4 :(得分:0)
I used this with the .NET System.Text.RegularExpressions to match positive or negative decimals (numbers).
(\d+|-\d+)
答案 5 :(得分:0)
最适合我的是:
^ [+-]?[0-9] * $
我正在检查正则表达式的数据类型以及正负数的范围。
此解决方案有效。