擅长:python、mysql、java
<p>代替<code>split</code>,您可以在<code>findall</code>中使用带有2个捕获组的简单正则表达式:</p>
<pre><code>reg = r'(?i)^(.*\s[BM]Sc?)\s+(.+)$'
</code></pre>
<p><a href="https://regex101.com/r/Lz7JPc/1" rel="nofollow noreferrer">RegEx Demo</a></p>
<p><strong>正则表达式描述:</strong></p>
<ul>
<li><code>(?i)</code>:忽略大小写模式</li>
<li><code>^</code>:开始</li>
<li><code>(.*\s[BM]Sc?)</code>:匹配0+个字符,直到捕获组1中的<code>BSc</code>或<code>BS</code>或<code>MS</code>或<code>Msc</code></li>
<li><code>\s+</code>:匹配1+个空格</li>
<li><code>(.+)</code>:匹配1+个字符,直到第二个捕获组结束</li>
<li><code>$</code>:结束</li>
</ul>