我想做的就是匹配2-16之间的数字,跨越1位数到2位
根据http://www.regular-expressions.info/numericranges.html,他们有1或2位数范围的例子,但不是跨越两者的例子......如果有意义的话。
The regex [0-9] matches single-digit numbers 0 to 9. [1-9][0-9] matches double-digit numbers 10 to 99.
“^ [2-9] [1-6] $”匹配21或甚至96 lol。任何帮助将不胜感激。
答案 0 :(得分:36)
^([2-9]|1[0-6])$
将匹配2到9之间的单个数字,或者1之后是0到6之间的数字,包括0和6之间的数字。
答案 1 :(得分:7)
使用分隔符(出于习惯):/^([2-9]|1[0-6])$/
正则表达式本身就是:^([2-9]|1[0-6])$
答案 2 :(得分:1)
^([2-9]|1[0-6])$
(编辑:删除了引号以便澄清。)
答案 3 :(得分:1)
您可以使用pip安装此软件包
pip安装正则表达式引擎
from regex_engine import generator
generate = generator()
regex = generate.numerical_range(2,16)
print(regex)
^([2-9] | 1 [0-6])$
您还可以为浮点数和负范围生成正则表达式
from regex_engine import generator
generate = generator()
regex1 = generate.numerical_range(5,89)
regex2 = generate.numerical_range(81.78,250.23)
regex3 = generate.numerical_range(-65,12)
答案 4 :(得分:-1)
(^ [2-9] $ | ^ 1 [0-6] $)
通过为每组数字指定开始和停止,您正在寻找的正则表达式也不会返回36,46,......等等。我尝试了上述解决方案,发现这最适合保持在2-16范围内。