【发布时间】:2019-08-29 01:43:11
【问题描述】:
考虑这个简单的设置
import pandas as pd
df = pd.DataFrame({'id' : [1,2,3],
'text' : ['stack-overflow',
'slack-overflow',
'smack-over']})
df
Out[9]:
id text
0 1 stack-overflow
1 2 slack-overflow
2 3 smack-over
我有一个给定的正则表达式,我想提取 最长 匹配。我知道我可以使用str.extractall 来获取所有匹配项,但是我怎样才能有效地获得最长的匹配项(作为数据框中的列df['mylongest'])?
当然,在这个例子中最长的匹配是溢出、溢出和smack。
df.text.str.findall(r'(\w+)')
Out[10]:
0 [stack, overflow]
1 [slack, overflow]
2 [smack, over]
Name: text, dtype: object
【问题讨论】: