擅长:python、mysql、java
<p>作为一种不使用regex的替代方法,您可以使用<code>str.split()</code>和<code>str.strip()</code>方法来完成这项工作:</p>
<pre><code>>>> [i.strip('()') for i in temp2.split(')(')]
['LEFT-WALL', 'who', 'is.v', 'the', 'di(rect)or.n', 'of', 'Inceptio', 'RIGHT-WALL']
</code></pre>
<p>或者对于regex,您可以在regex中使用<a href="http://www.regular-expressions.info/lookaround.html" rel="nofollow"><em>look-around</em></a>:</p>
<pre><code>>>> re.findall(r'(?<=\()(.*?)(?=\)\(|\)$)', temp2)
['LEFT-WALL', 'who', 'is.v', 'the', 'di(rect)or.n', 'of', 'Inceptio', 'RIGHT-WALL']
</code></pre>
<p><em>注意</em>逻辑很简单,您只需要匹配开括号<code>(</code>和紧跟开括号<code>)(</code>的闭括号之间的字符串</p>