擅长:python、mysql、java
<p>您可以在列表中使用以下正则表达式:</p>
<pre><code>>>> import re
>>> regx=re.compile(r'(?<=\[T\.)([^\]]+)(?=\])')
>>> [regx.search(i).group() for i in mylist if '[' in i]
[u'Horror', u'Adult', u'Cult Movies', u'Mystery & Suspense', u'Science Fiction & Fantasy', u'Western', u'Gay & Lesbian', u'Comedy', u'Television', u'Kids & Family', u'Classics', u'Drama', u'Art House & International', u'Romance', u'Special Interest', u'Animation', u'Documentary', u'Musical & Performing Arts', u'Sports & Fitness', u'Faith & Spirituality', u'Anime & Manga']
</code></pre>
<p>这个正则表达式使用了<a href="http://www.regular-expressions.info/lookaround.html" rel="nofollow">positive look-around</a>,它将匹配<code>(?<=\[T\.)</code>和<code>(?=\])</code>之间没有<code>]</code>的每一个thin。你知道吗</p>
<p>还要注意的是,作为一种更加python和优化的方式,我使用<code>re.compile</code>在列表理解之外编译regex,以拒绝在每次迭代中编译regex。你知道吗</p>