擅长:python、mysql、java
<p>这个正则表达式并不漂亮,但它似乎适用于您的示例:</p>
<pre><code>((?:^|[\+\-])[\d\.]+(?:e[\+\-]\d+)?)
</code></pre>
<p><a href="https://www.debuggex.com/r/KjasI5VMMXuGzca4" rel="nofollow noreferrer">Debuggex Demo</a></p>
<p>意思是:字符串或符号的开头,后跟数字和点,可能后跟<code>e</code>,后跟符号和数字</p>
<pre><code>>>> import re
>>> re.findall("((?:^|[\+\-])[\d\.]+(?:e[\+\-]\d+)?)","3.01-1.58e+006-1.58e+006")
['3.01', '-1.58e+006', '-1.58e+006']
</code></pre>