为了账号安全,请及时绑定邮箱和手机立即绑定

Twitter用户名的正则表达式

/ 猿问

Twitter用户名的正则表达式

您能否提供与Twitter用户名匹配的正则表达式?

如果提供了Python示例,则可以额外获得奖金。


查看完整描述

3 回答

?
HappyDay1234567890

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

我使用了它,因为它不考虑电子邮件。


这是一个示例推文:


@你好@你好吗@my_friend,给我@ 000我发电子邮件@ whats.up @ example.com @shahmirj


火柴:


@你好

@您

@我的朋友

@shahmirj

它也适用于主题标签,我使用与@更改为相同的表达式#。


查看完整回答
反对 回复 2019-12-26
?
收到一只叮咚

如果您在谈论@username他们在推特上使用的东西,那么您可以使用以下方法:


import re

twitter_username_re = re.compile(r'@([A-Za-z0-9_]+)')

要使每个实例成为HTML链接,您可以执行以下操作:


my_html_str = twitter_username_re.sub(lambda m: '<a href="http://twitter.com/%s">%s</a>' % (m.group(1), m.group(0)), my_tweet)


查看完整回答
反对 回复 2019-12-26
?
POPMUISE

我使用的正则表达式,并且已经在多种情况下进行了测试:


/(^|[^@\w])@(\w{1,15})\b/

这是我发现测试并替换字符串中的Twitter用户名的最干净的方法。


#!/usr/bin/python


import re


text = "@RayFranco is answering to @jjconti, this is a real '@username83' but this is an@email.com, and this is a @probablyfaketwitterusername";


ftext = re.sub( r'(^|[^@\w])@(\w{1,15})\b', '\\1<a href="http://twitter.com/\\2">\\2</a>', text )


print ftext;

这将按预期返回我:


<a href="http://twitter.com/RayFranco">RayFranco</a> is answering to <a href="http://twitter.com/jjconti">jjconti</a>, this is a real '<a href="http://twitter.com/username83">username83</a>' but this is an@email.com, and this is a @probablyfaketwitterusername

根据Twitter规格:


您的用户名不能超过15个字符。您的真实姓名可以更长(20个字符),但为了方便起见,用户名应保持较短。用户名只能包含字母数字字符(字母AZ,数字0-9),下划线除外,如上所述。检查并确保所需的用户名不包含任何符号,破折号或空格。


查看完整回答
反对 回复 2019-12-26

添加回答

回复

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信