擅长:python、mysql、java
<p>如果它总是相同的模式,那么为什么不呢:</p>
<pre><code>>>> x = 'STARSHIP_TROOPERS_INVASION_2012_LOCDE'
>>> x[:x.rfind('_')]
'STARSHIP_TROOPERS_INVASION_2012'
</code></pre>
<p>对于原始正则表达式,由于未捕获匹配的组,因此它不是匹配项的一部分:</p>
^{pr2}$
<p><code>()</code>将选择标记为<a href="http://docs.python.org/2/library/re.html" rel="nofollow">captured group</a>:</p>
<blockquote>
<p>Matches whatever regular expression is inside the parentheses, and
indicates the start and end of a group; the contents of a group can be
retrieved after a match has been performed, and can be matched later
in the string with the \number special sequence, described below. To
match the literals '(' or ')', use ( or ), or enclose them inside a
character class: [(] [)].</p>
</blockquote>