“问题提取”;提到;使用regex从Twitter数据

“问题提取”;提到;使用regex从Twitter数据,regex,pandas,Regex,Pandas,我试图从推特上提取推文中提到的内容,即@Google或@Apple 这是我到目前为止从一个列中提取提到的内容,然后用这些内容创建另一个列的代码 df_bdtu['mentions'] = df_bdtu['tweet_text'].str.findall('(?:^|\s)[@ @]{1}([^\s#<>[\]|{}]+)') dfu-bdtu['notices']=df\u-bdtu['tweet\u text'].str.findall('(?:^^\s)[312@]{1}([

我试图从推特上提取推文中提到的内容,即
@Google
@Apple

这是我到目前为止从一个列中提取提到的内容,然后用这些内容创建另一个列的代码

df_bdtu['mentions'] = df_bdtu['tweet_text'].str.findall('(?:^|\s)[@ @]{1}([^\s#<>[\]|{}]+)')
dfu-bdtu['notices']=df\u-bdtu['tweet\u text'].str.findall('(?:^^\s)[312@]{1}([^\s.[\]{}+]))
它主要起作用,但我在一些边缘案例中面临一些问题,例如,以这条推文为例:

Check out @Dreams_n_Songs and give them a follow! I can't recommend their hoodies enough!Shop now  You can use

[@@]([^][\s#<>|{}]+)
查看@Dreams\u n\u歌曲,并对其进行跟踪!我怎么推荐他们的连帽衫都不够!现在购物你可以使用

[@@]([^][\s#|{}]+)
看。因此,删除
(?:\s | ^)
,它需要字符串开头或匹配开头的空格,并且需要从
[@@]
字符类中删除文本空格

在Pandas代码中,您可以这样使用它:

df#u bdtu['notices']=df#u bdtu['tweet#u text'].str.findall(r'[@@]([^][\s#{}]+)

请注意
r'…'
原始字符串文字符号。

感谢您的完美工作,也请欣赏详细的答案。当我被允许的时候,我会接受答案。