在不带前导0的文本字符串中查找float

Add*_*ddi 1 python regex floating-point

我试图从像这样的文本字符串中捕获浮点数(使用Python 3):

.31 [0.25-0.37] m2 incr

如果我使用以下代码,这适用于格式为0.45的数字:

import re
re.findall("\d+.\d+", ".31 [0.25-0.37] m2 incr")
Run Code Online (Sandbox Code Playgroud)

但如果缺少null,如.31,则不会复制该数字.我尝试了一些变化,但没有成功; 任何人都能指出我正确的方向吗?

Gil*_*ilZ 5

你很亲密......

re.findall("\d*\.\d+", ".31 [0.25-0.37] m2 incr")
Run Code Online (Sandbox Code Playgroud)

你不知道你是否有一个前导数字,所以你应该使用*而不是+,你应该逃避点.