关于python正则表达式问题(带科学记数的)

3.6554015e-09 1.4488598e-09 1
3.65 9.86 1.0

现在假设有两行数据对于这种带e的浮点数怎么用python的正则表达式匹配啊?

你题目的解答代码如下:(如有帮助,望采纳!谢谢! 点击我这个回答右上方的【采纳】按钮)

import re

s = '''3.6554015e-09 1.4488598e-09 1
3.65 9.86 1.0'''

li = re.findall(r'\b[\+\-]?\d+(?:\.\d+)?(?:[Ee][\+\-]?\d+)?\b',s)
print(li)

结果

['3.6554015e-09', '1.4488598e-09', '1', '3.65', '9.86', '1.0']

为什么要用正则?如果一个字符串可以被转换成float,并且串里面包含字符e不就满足条件了吗
如果非要用正则也可以,就这么写r'^[+-]?[\d]+([\.][\d]+)?([Ee][+-]?[\d]+)?$'