正则表达式编号介于1和100之间
我搜索了很多,但找不到这个RegExp的解决方案(我不得不说我在Reg。表达方面不是很有经验)。
Regex = ^[1-9]?[0-9]{1}$|^100$
我想测试1到100之间的数字,不包括0
尝试:
^[1-9][0-9]?$|^100$
工作小提琴
编辑:如果你想匹配00001,00000099尝试
^0*(?:[1-9][0-9]?|100)$
小提琴
尝试一下,这样可以更有效地工作.. 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
工作小提琴链接
如果假设他确实需要正则表达式 – 这在许多情况下是完全合理的 – 问题是需要指定特定的正则表达式。 例如:
egrep '^(100|[1-9]|[1-9][0-9])$' grep -E '^(100|[1-9]|[1-9][0-9])$'
如果(… | …)替代语法可用,则工作正常。 在其他情况下,它们会像\(…… \ | …… \)一样被反击
如何为此编写正则表达式模式有很多选项
-
^(?:(?!0)\d{1,2}|100)$
-
^(?:[1-9]\d?|100)$
-
^(?!0)(?=100$|..$|.$)\d+$
对于1到100之间没有前面的0的整数尝试:
^[1-9]$|^[1-9][0-9]$|^(100)$
对于0到100之间没有前面的0的整数尝试:
^[0-9]$|^[1-9][0-9]$|^(100)$
问候
这似乎是使用if
语句的更好解决方案:
num = 55 if num <= 100 and num >= 1: print("OK") else: print("NOPE")
在0到100之间
/^(\d{1,2}|100])$/
或介于1和100之间
/^(\[1-9]|100])$/
这是非常简单的逻辑,所以不需要regx。
而是去使用三元运算符
var num = 89; var isValid = (num <= 100 && num > 0 ) ? true : false;
它会为你带来魔力!