我需要一个正则表达式,可以让我输入0-5,000之间的值。我是一个新手,对于正则表达式来说相当新颖。 ^(0?[0-4]?[0-9]?[0-9]?[0-9])$
是我迄今为止,但它只会让我去到4,999。谢谢Reg Ex数值范围
0
A
回答
5
为什么不将这部分字符串解析为数字并将其与正则表达式之外的5000进行比较?如果你使用这个正则表达式,我打赌谁会读你的代码会恨你!
1
println '3,1777' ==~ /[0-4]((\,)\d{1,3})?/
println '3,999' ==~ /[0-4]((\,)\d{1,3})?/
这就是Groovy。不过,您可以使用支持PCRE的任何语言的正则表达式=)
2
请不要使用正则表达式进行数值范围验证。使用正则表达式来确保字符串匹配模式(即仅包含数字),但只需将该字符串转换为数字并验证该数字即可。
正则表达式不是金色的锤子,只有很多钉子才能有效地使用。
0
^(5000|[1-4][0-9]{3}|[1-9][0-9]{2}|[1-9][0-9]|[0-9])$
2
关注Ilya Kogan的回答。
如果你真的想你可以这样做:
(5000|[1234]?\d{3})(?!\d)
相关问题
- 1. Reg Ex的匹配时间范围
- 2. Serialize/Reg ex
- 3. 如何REG-EX
- 4. REG-EX解释
- 5. Reg Ex question
- 6. reg ex match Numberic SubSequnce
- 7. URL reg-ex匹配问题
- 8. Reg ex for activation-config-property-value
- 9. Java reg-ex获取令牌?
- 10. 在使用变量REG-EX
- 11. PHP Reg ex解析链接
- 12. GREP数值范围
- 13. REG-EX如果时间戳为奇秒
- 14. Reg ex需要找到两个||
- 15. Java的REG-EX验证文件惯例
- 16. 在jQuery选择中使用Reg Ex
- 17. 帮助查找Reg-ex使用错误
- 18. C Reg Ex库代码帮助
- 19. Reg Ex解析错误 - 太多了)的
- 20. 如何在Java中创建reg ex
- 21. Reg Ex在评论中的超链接
- 22. Reg Ex在Python中查找'+'或' - '号
- 23. Jmeter没有正确提取reg ex exctor的值
- 24. reg exp验证数字之间的范围
- 25. 封闭在grep的双引号之间的REG-ex和提供了reg-EX,因为它是
- 26. 参数和值的范围
- 27. 组数组按范围值
- 28. 大数据集范围值
- 29. 数值超出范围
- 30. Excel中的数值范围
您好,欢迎#1。还请提及您正在使用哪种编程语言来处理此正则表达式。 – Animesh 2012-01-06 16:25:40
您使用的语言的一些背景肯定会有所帮助。如果你使用的是正确的语言/平台,你可以通过使用一个对应于实际数值的控件来解决这个问题,并在控件本身设置最大/最小值,而不是使用正则表达式。 – Zannjaminderson 2012-01-06 16:28:43