标签: regex twitter
我需要找到一个能抓住@cnn等屏幕名称的正则表达式,但忽略john@cnn.com这样的电子邮件地址。
@cnn
john@cnn.com
我见过的大多数正则表达式都匹配,例如^@?(\w){1,15}$
^@?(\w){1,15}$
答案 0 :(得分:1)
^@?(\w{1,15})$无法与john@cnn.com匹配,因为没有.匹配器。\w匹配[a-zA-Z0-9_]。所以此正则表达式适用于您的情况。请参阅演示。
^@?(\w{1,15})$
.
\w
[a-zA-Z0-9_]
http://regex101.com/r/aW3pR4/19
答案 1 :(得分:1)
电子邮件地址有一个点,但在推特名称中,点不会出现。因此,匹配以@开头的名称和以下一个或多个字符但不包含点,并且必须紧跟空格或行尾锚点。
@
@[^.]+?(?=\s|$)
DEMO