跳转至

REGEXEXTRACT

类别:MS Excel 兼容函数 · 原生引入:Microsoft 365

从文本中提取正则表达式的匹配。

语法

=REGEXEXTRACT(文本, 模式, [返回模式], [区分大小写])

参数

参数 必需 说明
文本 必需 源文本
模式 必需 正则模式
返回模式 可选 0 首个,1 全部,2 捕获组
区分大小写 可选 0 区分(默认),1 忽略

返回

返回模式 0 返回首个匹配文本(标量),1 返回所有匹配(纵向 1 列数组,溢出),2 返回首个匹配的捕获组(横向 1 行数组,溢出)。无匹配(含模式 2 下没有捕获组的情况)时返回 #N/A,正则表达式无效时返回 #VALUE!。

示例

公式 结果 说明
=REGEXEXTRACT("abc123def45","\d+") 123 首个匹配
=REGEXEXTRACT("abc123def45","\d+",1) {123;45} 所有匹配(纵向)
=REGEXEXTRACT("2026-08-01","(\d+)-(\d+)",2) {2026,08} 捕获组(横向)

备注

  • 正则语法为 std::wregex 的 ECMAScript(与原生 365 的 PCRE2 可能略有差异)。
  • text·pattern 可指定数组并按元素计算,以相同形状的数组溢出返回(错误元素原样返回该错误);数组 text 与返回模式 1·2 并用时,各元素结果降级为第一个匹配。
  • 相关函数:REGEXTEST、REGEXREPLACE
  • 支持:Excel 2010+。在没有原生函数的旧版本中按 REGEXEXTRACT 原名注册(直接替换),在具有原生函数的新版 Excel 中注册为 EG.REGEXEXTRACT