擅长:python、mysql、java
<p>一种方法是匹配一个空格,并使用正向前瞻来断言右边的数字是1+个数字,之后是非空格字符:</p>
<pre><code>\s(?=\d+(?!\S))
</code></pre>
<ul>
<li><code>\s</code>空白字符</li>
<li><code>(?=</code>正面展望,断言右边的内容
<ul>
<li><code>\d+</code>匹配1+个数字</li>
<li><code>(?!</code>负面展望,断言右边的不是
<ul>
<li><code>\S</code>匹配非空白字符</li>
</ul></li>
<li><code>)</code>关闭负面展望</li>
</ul></li>
<li>关闭正面展望</li>
</ul>
<p><a href="https://regex101.com/r/bZGP5B/1" rel="nofollow noreferrer">Regex demo</a>| <a href="https://ideone.com/Q6DmVD" rel="nofollow noreferrer">Python demo</a></p>
<p>您的代码可能如下所示:</p>
<pre><code>import re
tmplist = re.split(r'\s(?=\d+(?!\S))', 'Dual 425mm AutoCannon 25')
print(tmplist)
</code></pre>
<p>结果</p>
<pre><code>['Dual 425mm AutoCannon', '25']
</code></pre>
<p>参见<a href="https://jex.im/regulex/#!flags=&re=%5Cs(%3F%3D%5Cd%2B(%3F!%5CS))" rel="nofollow noreferrer">regulex</a>视觉</p>
<p><a href="https://i.stack.imgur.com/fqZfP.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/fqZfP.png" alt="enter image description here"/></a></p>