擅长:python、mysql、java
<p>你可以用</p>
<pre><code>re.findall(r'(.*?)\s*(\d+) Kill\(s\)\s*', s)
</code></pre>
<p>参见<a href="https://regex101.com/r/XK0BYH/1" rel="nofollow noreferrer">regex demo</a></p>
<p><strong>细节</strong></p>
<ul>
<li><code>(.*?)</code>-捕获组1:除换行符以外的任何0+个字符,尽可能少</li>
<li><code>\s*</code>-0+空格</li>
<li><code>(\d+)</code>-捕获组2:一个或多个数字</li>
<li><code> Kill(s)</code>-一个空间和<code>Kill(s)</code>子串</li>
<li><code>\s*</code>-0+空格</li>
</ul>
<p><a href="https://ideone.com/bCKhBa" rel="nofollow noreferrer">Python demo</a>:</p>
<pre><code>import re
rx = r"(.*?)\s*(\d+) Kill\(s\)\s*"
s = "Abc - 33 SR 11 Kill(s) P G - (Type-1P-G) 2 Kill(s) M 1 Kill(s) S - M9A CWS 1 Kill(s) 11 Kill(s)"
print(re.findall(rx, s))
</code></pre>
<p>输出:</p>
<pre><code>[('Abc - 33 SR', '11'), ('P G - (Type-1P-G)', '2'), ('M', '1'), ('S - M9A CWS', '1'), ('', '11')]
</code></pre>