我正在尝试编写 RegEx 来验证 float 。以下是我到目前为止所做的:
/^[-+]?[1-9]\d{0,2}(\.\d{1,1})?/
在以下情况下该号码有效:
- 积极或消极
- 最多 2 位数(十位或百位)
- 百位不能为0(只能是1-9)
- 比例最大为 1
- 十进制值可以是 0 或 5 或根本没有
所以这些数字是有效的,例如:
- 1.5
- -1.5
- 17.5
- 15
- -3
- 30.5
这些数字是无效的,例如:
- 1.57
- 3041.5
- 17.59
- 915
- -1.56
- 05.0
最佳答案
Float(number)
(捕获异常以检测解析错误)然后验证 float 怎么样?对于几个属性来说,这比编写正则表达式更容易。如果您需要强制使用 Ruby 接受的语法子集(为什么?),请仅使用正则表达式检查该部分。
关于ruby - 浮点正则表达式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9186780/