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

正则匹配求助:提取以@开头的完整单词内容

解决正则提取@后到空格前内容的问题

你的问题出在之前的正则 (?<=@)(.*)(\s+) 上:.* 是贪婪匹配,会把@之后到最后一个空格前的所有内容(包括in这类字符)都匹配到,而且\s+还会把空格纳入匹配范围,自然拿不到想要的结果。

推荐两种可行的正则方案:

方案1:用正向断言+非空白字符匹配

直接匹配@后面的所有非空白字符,无需捕获组:

(?<=@)\S+
  • (?<=@):正向肯定断言,确保当前位置前是@
  • \S+:匹配一个或多个非空白字符,刚好截取到第一个空格前的目标内容

方案2:用捕获组提取

如果你的工具依赖捕获组获取结果,可以用这个:

@(\S+)

提取捕获组1的内容即可得到test1、test2,这个写法更简洁,兼容性也更好。

测试这两个正则,都能从你的输入字符串里精准提取出目标结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 04:26:03