psi*_*los 1 java regex validation
我需要一个正则表达式来验证正负双精度。我尝试了以下正则表达式:
^[-+]?\\d+(\\.{0,1}(\\d+?))?$
Run Code Online (Sandbox Code Playgroud)
但它允许前导0(例如01和00)。如何修改正则表达式,使其不允许前导0?
这是一个示例(.NET语法,在Java中也应该可以):
^[+-]?(([1-9]\d*)|0)(\.\d+)?
Run Code Online (Sandbox Code Playgroud)
基本上,它有一个可选的+或-符号,后跟0或1-9之间的数字,后跟任意数量的数字。(可选)它可以包含一个小数点,后跟一个或多个数字。
此正则表达式的重要一点(这就是解决您的问题的原因),它具有附加的限制,即多位数字不能以0开头-您可以输入正好等于0的值,但不能输入等于0的值例如000010.1或0000.0等。像0或0.0或100.1之类的东西就可以了。
| 归档时间: |
|
| 查看次数: |
210 次 |
| 最近记录: |