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

如何在Google Sheet中用REGEXEXTRACT提取最后一个|后以SP结尾的字符串

正则修改方案

原正则错误原因

  • 拼写错误:你要匹配以SP结尾的内容,但原正则里写的是SR,匹配目标完全不符
  • 贪婪匹配无边界限制:[\|\s].+的写法没有禁止跨|匹配,默认的贪婪匹配规则会尽可能往前匹配到最早出现的|,导致把前面多个|分隔的内容都包含进来

正确正则规则

你需要先让正则贪婪匹配到最后一个|的位置,再向后捕获符合要求的内容,公式如下:

=REGEXEXTRACT(<输入字符串>, ".*\|([^|]*SP)\s*$")

如果需要自动去除提取结果前后的空白,可以嵌套TRIM函数:

=TRIM(REGEXEXTRACT(<输入字符串>, ".*\|([^|]*SP)\s*$"))

如果需要处理不存在匹配内容的报错,可额外嵌套IFERROR函数:

=IFERROR(TRIM(REGEXEXTRACT(<输入字符串>, ".*\|([^|]*SP)\s*$")), "无匹配内容")

规则解释

  • .*\|:贪婪匹配所有字符直到最后一个|的位置,确保后续匹配从最后一个分隔符之后开始
  • ([^|]*SP):捕获组,匹配所有不含|的字符,直到遇到结尾的SP,保证不会跨分隔符匹配前面的内容
  • \s*$:匹配字符串末尾可能存在的空白字符,避免结尾空格影响SP的结尾判定

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 10:45:07