擅长:python、mysql、java
<p>我真的认为最简单的方法是使用<code>findall</code>而不是拆分或{<cd2>}-ing来匹配:</p>
<pre><code>result = re.findall(r"\d+(?:\s+\d+)*|[a-z]+(?:\s+[a-z]+)*", text)
print('\n'.join(result))
</code></pre>
<p>或者在一行中:</p>
^{pr2}$
<p>给出:</p>
<pre><code>1 2 3 4 5 6
abcde fghij klmno pqrst
7 8 9 10
uvwxyz abcdef
11 12 13
</code></pre>
<p><code>\d+(?:\s+\d+)*</code>匹配带有数字和空格的部分。在</p>
<p><code>[a-z]+(?:\s+[a-z]+)*</code>用字母和空格匹配部分。在</p>