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)并安全地恢复数字列表?