正则表达式编号介于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 

工作小提琴链接

http://regex101.com/r/mN1iT5/6

如果假设他确实需要正则表达式 – 这在许多情况下是完全合理的 – 问题是需要指定特定的正则表达式。 例如:

 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; 

它会为你带来魔力!