我需要一個正則表達式,可以讓我輸入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. Reg Ex Facebook
- 3. REG-EX解釋
- 4. 如何REG-EX
- 5. Serialize/Reg ex
- 6. REG-EX刮
- 7. Reg Ex question
- 8. reg ex match Numberic SubSequnce
- 9. Reg ex for activation-config-property-value
- 10. REG-EX趕上規則
- 11. Java reg-ex獲取令牌?
- 12. .Net Reg Ex精確匹配
- 13. Reg Ex左填充零點
- 14. URL reg-ex匹配問題
- 15. 在使用變量REG-EX
- 16. PHP Reg ex解析鏈接
- 17. Reg Ex匹配?或Unicode%3d
- 18. GREP數值範圍
- 19. C Reg Ex庫代碼幫助
- 20. 在xsd中添加空間reg ex
- 21. Reg Ex解析錯誤 - 太多了)的
- 22. reg ex羣組和子羣組
- 23. 幫助查找Reg-ex使用錯誤
- 24. AngularJS Reg Ex替換過濾器
- 25. Java的REG-EX驗證文件慣例
- 26. 我的C#Reg-ex正確嗎?
- 27. REG-EX如果時間戳爲奇秒
- 28. 在jQuery選擇中使用Reg Ex
- 29. 在PHP中使用reg ex查詢MYSQL
- 30. python reg-ex模式不匹配
您好,歡迎#1。還請提及您正在使用哪種編程語言來處理此正則表達式。 – Animesh 2012-01-06 16:25:40
您使用的語言的一些背景肯定會有所幫助。如果你使用的是正確的語言/平臺,你可以通過使用一個對應於實際數值的控件來解決這個問題,並在控件本身設置最大/最小值,而不是使用正則表達式。 – Zannjaminderson 2012-01-06 16:28:43