regex提取Twitter中的提及

发布于 2021-01-29 15:01:48

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

我的尝试:

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

对于@mickey之类的任何提及,它都可以正常工作,但是,在带有@mickey_mouse之类的下划线的提及中,它仅提取@mickey。

如何修改正则表达式以使其在两种情况下均能正常工作?

谢谢

关注者
0
被浏览
62
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    在下一组添加下划线,如下所示:

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

    Regex101演示

    另外,Twitter
    Handle规则
    允许您使用以数字和下划线开头的用户名。因此,提取twitter处理正则表达式可能很简单:(@\w{1,15}
    允许使用字符,数字和下划线,并包括15个字符的限制) 。根据可能使用的正则表达式,还需要一些额外的前瞻/后顾之忧。



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看