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。