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

标签 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

最佳答案

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

?: 的作用是使第二组“不捕获”,因此您只能在结果中获得所需的名称。

关于python - 正则表达式 - 查找 @ 之后和特定字符之前的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26482646/

相关文章:

python - 编写一个自定义 Django BaseCommand 类来记录命令详细信息

python - 从自身内部以编程方式保存IPython笔记本吗?

java - 从多行字符串中提取文本

regex - 正则表达式 (|) 管道运算符短路工作的条件是什么?

java - 数组中以字符串开头的单词

c# - Regex.Replace 在勉强匹配时有奇怪的行为

java - 正则表达式匹配 Java 中 & 周围的非空白

python - 如何使用 Holoviews Bokeh Datashader 进行 ylim 绘图限制

python - Pandas:按两列分组并以 LONG 格式查找 3 列的第 25、中位数、第 75 个百分位数和平均值

python - 如何使用循环在另一个字典中添加字典?