擅长:python、mysql、java
<p>您可以使用正则表达式来查找“两个括号之间的值”的所有实例,然后拉出最后一个实例。例如,如果我们有以下数据:</p>
<pre><code>df = pd.DataFrame({'col': ['assdffjhjhjh(12tytyt)bhhh(AS7878788)',
'asjhgdv(abjhsgf)(abjsdfvhg)afdsgf']})
</code></pre>
<p>我们确实:</p>
<pre><code>df['col'] = df['col'].str.findall(r'\(([^\(^\)]+)\)').str[-1]
</code></pre>
<p>这让我们:</p>
<pre><code> col
0 AS7878788
1 abjsdfvhg
</code></pre>
<p>为了解释正则表达式正在做什么,它试图找到我们拥有的所有实例:</p>
<pre><code>\( # an open bracket
([^\(^\)]+) # anything that isn't an open bracket or a close bracket for one or more characters
\) # a close bracket
</code></pre>
<p>如果我们从前面语句的末尾取<code>.str[-1]</code>,我们可以看到这是如何工作的,正如<code>df['col'] = df['col'].str.findall(r'\(([^\(^\)]+)\)')</code>给我们的:</p>
<pre><code> col
0 [12tytyt, AS7878788]
1 [abjhsgf, abjsdfvhg]
</code></pre>