带有整数和小数的正则表达式以及点和符号

时间:2014-04-09 10:52:48

标签: python regex

我正在尝试验证具有以下允许条件的字符串

字符串可以是带点(。)的有符号或无符号数字。例如

10或.3或1.或1.1或+5或-5或+3或-1。等

以下链接几乎是一个接近的答案,但失败了“+3” Regular Expression for whole numbers and integers?

"[+-]?(?<!\.)\b[0-9]+\b(?!\.[0-9])"

2 个答案:

答案 0 :(得分:0)

一种解决方案可能是:

[+-]?(((\d+\.?)|(\.?\d+))\d*)

此处[+-]?会在开头检查可选符号,(\d+\.?)(\.?\d+)会捕获数字,然后是..后跟数字(和涵盖包含.)的案例,最后\d*处理尾随数字(如果有的话)。

答案 1 :(得分:-1)

如果你想要排除像 000000.12 这样的字符串,那么我会相信[+-]?(0|[1-9]\d*)?(\.[0-9]+)?