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

如何使用REGEXEXTRACT提取两个字符串之间的指定文本内容

正则提取人员姓名问题解决方案

原有公式=ARRAYFORMULA(REGEXEXTRACT(B3:B, "-(.*)\."))匹配错误的核心原因是.*为贪婪匹配规则,会从字符串第一个-的位置开始匹配,直到最后一个.结束,因此会把编号、标识字段里的-后续内容也纳入匹配结果。

修正后可用公式

=ARRAYFORMULA(REGEXEXTRACT(B3:B, ".*-\s*(.*?)\s*\."))

正则逻辑说明

  • .*-:贪婪匹配逻辑,会自动定位到整行文本的**最后一个-**位置,自动过滤掉前面所有包含-的编号、特殊标识内容
  • \s*:匹配最后一个-之后的所有空格,跳过姓名前的空白字符
  • (.*?):非贪婪匹配,捕获目标姓名内容,不会多占后续的字符
  • \s*\.:作为匹配结束边界,匹配姓名后面的空格和行尾的.,确保不会把末尾的空白和点号纳入姓名结果

该公式可直接提取出符合要求的姓名结果,无需额外二次处理。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 21:06:08