我需要一个正则表达式来匹配-100和0之间的所有数字。
所以有效值是:
无效的是:
谢谢!
答案 0 :(得分:8)
使用此功能:
/^(?:0|-100|-[1-9]\d?)$/
答案 1 :(得分:2)
好的,所以我迟到了,但这里有:
(?: # Either match:
- # a minus sign, followed by
(?: # either...
100 # 100
| # or
[1-9]\d? # a number between 1 and 99
)
| # or...
(?<!-) # (unless preceded by a minus sign)
\b0 # the number 0 on its own
)
\b # and make sure that the number ends here.
(?!\.) # except in a decimal dot.
这将在正常文本中找到负整数(-100到-1)和0。不允许使用前导零。
如果您已将号码隔离,则
^(?:-(?:100|[1-9]\d?)|0)$
如果您不想允许前导零或-0
,就足够了。
如果您不关心前导零或-0
,请使用
^-?0*(?:100|\d\d?)$
...如果你的老板告诉你“哦,顺便说一下,从明天开始,我们需要允许-184.78
和33.53
之间的值”,你会怎么做?
答案 2 :(得分:0)
尝试^( - [1-9] [0-9]?| -100 | 0)$
但也许简单地将它转换为数字并快速检查范围
答案 3 :(得分:0)
如何使用捕获组然后以编程方式测试该值,例如
(-?\p{Digit}{1,3})
然后测试捕获的值以确保它在您的范围内?
答案 4 :(得分:0)
我是正规表达的新手吗?
(-100|((-[1-9]?[0-9])|\b0))