擅长:python、mysql、java
<p>您的正则表达式有几个问题,其中之一是<a href="http://www.regular-expressions.info/catastrophic.html" rel="nofollow noreferrer">catastrophic backtracking</a>的高风险,因为正则表达式引擎需要在不匹配的情况下测试的置换数量呈指数级增长。另一个问题是<code>\w</code>也将匹配数字,因此第一个组可能包含您不希望它包含的数字。在</p>
<p>此外,对于这样一个“动态增长”的regex,您需要一个“match continuation”特性,比如<code>\G</code>或{<cd3>}锚点,但是Python不支持这些特性。在</p>
<p>最好的方法是<code>.split()</code>将字符串转换成子字符串,然后检查每个子字符串是否包含数字(例如,<code>try</code>ing将其转换为<code>float</code>),并相应地执行相应的操作。在</p>
<p>额外的好处是:您有一个可读的Python脚本,而不是一个非常复杂的regex。在</p>