正则表达式在Twitter上提取提及

时间:2017-05-13 21:11:18

标签: python regex

我需要在python中编写一个正则表达式来提取Tweets中的提及。

我的尝试:

it took  25053.035020828247 Milliseconds

它适用于像@mickey这样的提及 但是,在提到像@mickey_mouse这样的下划线时,它只会提取@mickey。

如何在两种情况下修改正则表达式?

谢谢

2 个答案:

答案 0 :(得分:2)

将下划线添加到最后一组,如下所示:

(?<=^|(?<=[^a-zA-Z0-9-_\.]))@([A-Za-z]+[A-Za-z0-9_]+)

Regex101 Demo

在旁注中,Twitter Handle rules允许您使用以数字和&amp ;;开头的用户名。也是下划线。因此,要提取twitter句柄,正则表达式可以简单到:@\w{1,15} (允许字符,数字和下划线并包含15个字符限制)。根据可能使用正则表达式的位置,需要一些额外的前瞻/外观。

答案 1 :(得分:0)

A shorter version,包括来自@degant 的否定案例:

(?<=@)\w+