我搜索了很多,找不到这个RegExp的解决方案(我不得不说我在Reg。表达方面不是很有经验)。
Regex = ^[1-9]?[0-9]{1}$|^100$
我想测试1到100之间的数字,不包括0
答案 0 :(得分:64)
答案 1 :(得分:5)
试试吧, 这将更有效地工作.. 1.对于数字范围00 - 99.99(包含十进制)
^([0-9]{1,2}){1}(\.[0-9]{1,2})?$
工作小提琴链接
https://regex101.com/r/d1Kdw5/1/
2.对于数字范围1-100(含),前面没有0。
(?:\b|-)([1-9]{1,2}[0]?|100)\b
工作小提琴链接
答案 2 :(得分:3)
如果假设他确实需要regexp - 这在许多情况下都是完全合理的 - 问题是需要指定特定的正则表达式。例如:
egrep '^(100|[1-9]|[1-9][0-9])$'
grep -E '^(100|[1-9]|[1-9][0-9])$'
如果(... | ...)替代语法可用,工作正常。在其他情况下,它们会像\(...... \ | ... \)
一样被反击答案 3 :(得分:3)
如何为该
编写正则表达式模式有很多选择^(?:(?!0)\d{1,2}|100)$
^(?:[1-9]\d?|100)$
^(?!0)(?=100$|..$|.$)\d+$
答案 4 :(得分:2)
对于1到100之间没有前面的0的整数,请尝试:
2001-01-01
2001-01-01
对于从0到100且前面没有0的整数,请尝试:
^[1-9]$|^[1-9][0-9]$|^(100)$
此致
答案 5 :(得分:0)
这似乎是使用if
语句的更好解决方案:
num = 55
if num <= 100 and num >= 1:
print("OK")
else:
print("NOPE")
答案 6 :(得分:0)
这里是简单正则表达式,便于理解(已验证+前没有0)
0到100(Try it here)之间:
^(0|[1-9][0-9]?|100)$
介于1到100(Try it here)之间:
^([1-9][0-9]?|100)$
答案 7 :(得分:0)
带小数点的0到100的正则表达式。
for_example
答案 8 :(得分:0)
答案 9 :(得分:0)
1-1000,前导0
/^0*(?:[1-9][0-9][0-9]?|[1-9]|1000)$/;
它不应接受0
,00
,000
,0000
。
它应该接受1
,01
,001
,0001
答案 10 :(得分:0)
我用这个角度6
尝试一下。
^([0-9]\.[0-9]{1}|[0-9]\.[0-9]{2}|\.[0-9]{2}|[1-9][0-9]\.[0-9]{1}|[1-9][0-9]\.[0-9]{2}|[0-9][0-9]|[1-9][0-9]\.[0-9]{2})$|^([0-9]|[0-9][0-9]|[0-99])$|^100$
它的有效位数是0.00-100。保留两位小数。
希望这会有所帮助
<input matInput [(ngModel)]="commission" type="number" max="100" min="0" name="rateInput" pattern="^(\.[0-9]{2}|[0-9]\.[0-9]{2}|[0-9][0-9]|[1-9][0-9]\.[0-9]{2})$|^([0-9]|[0-9][0-9]|[0-99])$|^100$" required #rateInput2="ngModel"><span>%</span><br>
数字应介于0到100之间
答案 11 :(得分:-2)
介于0和100之间
/^(\d{1,2}|100])$/
或介于1和100之间
/^(\[1-9]|100])$/
答案 12 :(得分:-4)
这是非常简单的逻辑,所以不需要regx。
而是去使用三元运算符
var num = 89;
var isValid = (num <= 100 && num > 0 ) ? true : false;
它会为你带来魔力!!