擅长:python、mysql、java
<p>这里不是使用<code>split</code>,而是一个regex,您可以在<code>re.findall</code>中使用它来完成您的工作:</p>
<pre><code>>>> s = "Thisissometext andthisissometext"
>>> print re.findall(r'[\w\s]+?(?:is(?=some)|$)', s)
['Thisis', 'sometext andthisis', 'sometext']
</code></pre>
<p><a href="https://regex101.com/r/OsjRVc/1" rel="nofollow noreferrer">RegEx Demo</a></p>
<p><strong>正则表达式分解:</strong></p>
<ul>
<li><code>[\w\s]+?</code>:匹配1+个单词或空格字符(<strong>非贪婪的</strong>)</li>
<li><code>(?:</code>:启动一个非捕获组
<ul>
<li><code>is</code>:匹配文字<code>is</code></li>
<li><code>(?=some)</code>:后面必须跟<code>some</code></li>
<li><code>|</code>:或</li>
<li><code>$</code>:它是字符串的结尾</li>
</ul></li>
<li><code>)</code>:结束非捕获组</li>
</ul>