You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Python regex提取字符串中特定@开头的字符串模式?

在Python中用正则提取@开头的字符串

没问题,用Python内置的re模块就能轻松实现这个需求,我给你详细说明:

核心思路

我们需要匹配以@开头,后面跟着连续非空白字符的字符串(或者根据你的需求限定字符范围),对应的正则模式可以灵活调整。

代码示例

提取所有匹配的@格式字符串

如果你需要从一行文本中提取所有符合@____格式的内容,可以用re.findall():

import re

# 替换成你的输入行
input_text = "Hi @Complex, could you connect me with @pastorjnelson?"

# 正则模式:匹配@开头,后续一个或多个非空白字符
regex_pattern = r'@\S+'

# 提取所有匹配项
results = re.findall(regex_pattern, input_text)
print(results)  # 输出: ['@Complex', '@pastorjnelson']

提取单个匹配的@格式字符串

如果只需要提取第一个符合条件的字符串,用re.search()更高效:

import re

input_text = "Hey @Complex, let's ping @pastorjnelson later"

regex_pattern = r'@\S+'

match_result = re.search(regex_pattern, input_text)
if match_result:
    print(match_result.group())  # 输出: @Complex

模式调整说明

上面的@\S+会匹配@后面所有非空白字符,包括标点(比如如果输入是@Complex,,会捕获到@Complex,)。如果需要更严格的匹配(比如只允许字母、数字、下划线),可以把模式改成:

regex_pattern = r'@[A-Za-z0-9_]+'

这样就能精准捕获用户名部分,不会包含后面的标点符号。

内容的提问来源于stack exchange,提问作者stephen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 10:40:49