用于解析python中浮点数列表的正则表达式

Raf*_*ini 1 python regex parsing

在python中解析由空格分隔的浮点数列表的最佳原因是什么?

我有这样的行将来自一个来源:

string = "  4    1.6  8.29   0   0  3.55e-15 -1.28e-13   " 
Run Code Online (Sandbox Code Playgroud)

具有未知数量的空格,用于分隔数字以及字符串的开头或结尾.

我通常只是numbers = map(float, string.split(" "))在我可以保证数字之间只有一个空格时使用,并且在字符串的开头或结尾没有空格.我不熟练正则表达式,但有人建议我使用,re.split("\s+", string)但这不起作用,因为有时我在结果列表的开始时得到空字符串.

我现在正在使用:re.split("\s+")但是这不起作用,因为有时我在结果列表的开头有空字符串.

我现在在用:

res = map(float, re.findall("\d+\S*\d*", string)
Run Code Online (Sandbox Code Playgroud)

这是以某种方式工作,但对我来说看起来很脆弱和丑陋.它可以匹配许多无法生成数字的字符串.

什么是最好的正则表达式模式,它总是匹配带有或不带指数表示法的整数和浮点数,以便我可以使用re.findall(patt, string)并安全地恢复数字列表?

kin*_*all 11

不需要正则表达式.简单地使用string.split()没有任何论据; 它会分裂在任何数量的空白上.