我需要在python中编写一个正则表达式来提取Tweets中的提及。
我的尝试:
it took 25053.035020828247 Milliseconds
它适用于像@mickey这样的提及 但是,在提到像@mickey_mouse这样的下划线时,它只会提取@mickey。
如何在两种情况下修改正则表达式?
谢谢
答案 0 :(得分:2)
将下划线添加到最后一组,如下所示:
(?<=^|(?<=[^a-zA-Z0-9-_\.]))@([A-Za-z]+[A-Za-z0-9_]+)
在旁注中,Twitter Handle rules允许您使用以数字和&amp ;;开头的用户名。也是下划线。因此,要提取twitter句柄,正则表达式可以简单到:@\w{1,15}
(允许字符,数字和下划线并包含15个字符限制)。根据可能使用正则表达式的位置,需要一些额外的前瞻/外观。
答案 1 :(得分:0)
A shorter version,包括来自@degant 的否定案例:
(?<=@)\w+