正则表达式 - 在@之后和特定字符之前查找文本

时间:2014-10-21 08:54:51

标签: python regex

我有这段代码:

replies = re.findall(r'@([^\\s]+)', string_content_here)

我要做的是在@符号后找到所有用户名。我只想在空格,逗号,感叹号和问号之前找到@字符串。

示例:

@Spindel <--- Should return Spindel
@Spindel, <--- Should return Spindel
@Spindel! <--- Should return Spindel
@Spindel? <--- Should return Spindel
@gmail.com <--- I don't want this at all

2 个答案:

答案 0 :(得分:2)

r'@([\w]+)(?:$|[ ,!?])'

?:用于制作第二组&#34;非捕获&#34;,因此您只能在结果中获得所需的名称。

答案 1 :(得分:0)

你可以使用它,它不完美,但应该做的伎俩

replies = re.findall("@(\\w+)[ ,!?]", string_content_here)