匹配输入数字的正则表达式介于-50到100000000之间
我正在尝试编写一个可以匹配输入数字字符串的正则表达式,该字符串应该在
-50 to 100000000
我试过像这样的表达
^(-?)(1000|[0-9][0-9][0-9]?)$
但它只匹配 -1000 到 1000 个数字。
测试的例子很简单
-50
-39
9
1000
36900
2000022
请帮我得到可以匹配范围 -50 到 100M 的表达式
我知道我们可以写简单的 if 条件,但我只想要正则表达式。
提前致谢。
回答
您可以使用以下正则表达式:
/^(-50|-[1-4]?d|100000000|[1-9]?d{1,7})$/gm
说明:
^ 匹配字符串的开头
-50 匹配 -50
或者
- 只有负数
[1-4]? 匹配 1 到 4 - 可选,后跟:任意数字
或者
100000000 匹配 100000000
或者
[1-9]? 匹配 1 到 9 - 可选,后跟:
d{1,7} 匹配任何数字 1 到 7 次
$ 匹配行尾
使用global和multiline选项。
- Ok, try this: `^(-50|-[1-4]?d(.dd?)?|100000000|[1-9]?d{1,7}(.dd?)?)$` - that will allow one or two decimals.