regexextract函数用于从文本中按正则表达式精准提取目标片段,需源字段为文本类型,格式为regexextract(源文本,"正则"),常用场景包括提取手机号、邮箱、括号内内容、版本号及多片段拼接,调试时可配合regexmatch验证匹配结果。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

飞书多维表格中用 REGEXEXTRACT 提取文本片段
当你需要从一串混杂的字符串里精准抠出手机号、邮箱、订单号或日期这类固定模式的内容,又不想手动拆分、复制粘贴,就得靠 REGEXEXTRACT 函数——它能按正则规则自动“抓取”目标子串,比用 LEFT/RIGHT/MID 组合靠谱得多。
第一步:确认字段类型为「单行文本」或「多行文本」。如果字段是「数字」「日期」或「人员」,函数会直接返回错误值 #ERROR!,因为 REGEXEXTRACT 只处理纯文本输入。
第二步:在目标字段所在列的公式栏输入函数,格式为:【REGEXEXTRACT(源文本, 正则表达式)】。注意两个参数都必须用英文括号包裹,且正则表达式要用英文双引号包围,不能漏掉。
第三步:写正则表达式时,优先用已验证的模板。比如提取中文手机号(11位,以1开头):`"1d{10}"`;提取邮箱:`"[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+.[a-zA-Z]{2,}"`;提取 2026-08-06 这类日期:`"d{4}-d{2}-d{2}"`。别自己瞎编,错一个字符就整个公式失效。
常见提取场景与对应正则写法
方法一:提取括号内全部内容(含中文、字母、数字、符号)
源文本示例:`【订单完成】用户张三(138****1234)于2026-08-06下单`
公式:`REGEXEXTRACT(文本字段,"(([^)]+))")`
说明:这里用了两层转义——`(` 和 `)` 匹配字面意义的左右括号,`[^)]+` 表示“匹配所有非右括号的字符”,括号外的 `()` 是捕获组,确保只返回括号里的内容,不带括号本身。
方法二:提取最后出现的数字串(如版本号 v2.3.1 中的 2.3.1)
源文本示例:`应用更新日志:v2.3.1 → v2.4.0`
公式:`REGEXEXTRACT(文本字段,"v(\d+\.\d+\.\d+)")`
注意:小数点在正则里是通配符,必须写成 `\.` 才表示字面意义的小数点,否则会误匹配任意字符。
方法三:同时提取多个片段并拼接(需配合 CONCATENATE 或 &)
源文本示例:`[客户ID:CUST-202608001][姓名:李四][城市:杭州]`
公式:`CONCATENATE(REGEXEXTRACT(文本字段,"CUST-(\d+)"),"|",REGEXEXTRACT(文本字段,"姓名:(\w+)"))`
结果:`202608001|李四`。这个写法要求每个 REGEXEXTRACT 都有且仅有一个捕获组,否则返回空值。
调试失败时的三步排查
① 检查源字段是否为空或含换行符。REGEXEXTRACT 对空字符串返回空,对含 ` ` 的多行文本默认只扫描第一行——若需全局匹配,得先用 SUBSTITUTE 清洗换行:`REGEXEXTRACT(SUBSTITUTE(文本字段," ",""),"正则")`。
② 在飞书公式编辑器里点击「插入函数」→「文本」→「REGEXEXTRACT」,右侧会弹出参数提示框。把光标停在第二个参数框里,再点「正则表达式帮助」,里面自带常用模式速查表,比百度快得多。
③ 如果公式始终返回 #N/A,大概率是正则没匹配到任何内容。这时不要硬改,先用 【REGEXMATCH(文本字段,"你的正则")】 测试是否能返回 TRUE。FALSE 就说明正则写错了,或者源文本根本不符合预期格式。










