我正在尝试验证具有以下允许条件的字符串
字符串可以是带点(。)的有符号或无符号数字。例如
10或.3或1.或1.1或+5或-5或+3或-1。等
以下链接几乎是一个接近的答案,但失败了“+3” Regular Expression for whole numbers and integers?
"[+-]?(?<!\.)\b[0-9]+\b(?!\.[0-9])"
答案 0 :(得分:0)
一种解决方案可能是:
[+-]?(((\d+\.?)|(\.?\d+))\d*)
此处[+-]?
会在开头检查可选符号,(\d+\.?)
和(\.?\d+)
会捕获数字,然后是.
或.
后跟数字(和涵盖包含.
)的案例,最后\d*
处理尾随数字(如果有的话)。
答案 1 :(得分:-1)
如果你想要排除像 000000.12 这样的字符串,那么我会相信[+-]?(0|[1-9]\d*)?(\.[0-9]+)?