擅长:python、mysql、java
<p>似乎您要在这里查找的是<em>在</em>之后的任何位置<em>都没有逗号的第一个单词字符序列,而不是<em>在</em>之前有逗号的字符序列。因此,似乎您需要的不是积极的前瞻性断言,而是消极的前瞻性断言</p>
<p>尝试将以下内容用作正则表达式:</p>
<pre><code>r'\w+(?!.*,)'
</code></pre>
<p>使用以下方法应用此功能:</p>
<pre><code>df['name'].apply(lambda name:re.search(r'\w+(?!.*,)',name).group())
</code></pre>
<p>将上述内容应用于此示例数据帧:</p>
<pre><code> name foo
0 JOSEPH W. JOHN 1
1 MIMI N. ALFORD 3
2 WANG E. Li 3
3 AAMIR, DENNIS M 3
4 MAHAMMED, LINDA X 3
5 ABAD, FARLEY J 3
</code></pre>
<p>给出:</p>
<pre><code>0 JOSEPH
1 MIMI
2 WANG
3 DENNIS
4 LINDA
5 FARLEY
</code></pre>