
一、函数概述
Excel 中的 REGEXP 相关函数(包括 REGEXP.MATCH、REGEXP.REPLACE、REGEXP.EXTRACT 等)是 Excel 365 及后续版本新增的正则表达式工具,用于高效处理文本匹配、提取、替换等场景,相比传统的 FIND、SUBSTITUTE 函数更灵活强大。
二、核心函数语法及参数
1. REGEXP.MATCH:判断文本是否匹配正则表达式
语法
REGEXP.MATCH(text, pattern, [options])
参数说明
| 参数 |
必选/可选 |
说明 |
text |
必选 |
要检测的目标文本 |
pattern |
必选 |
正则表达式匹配模式 |
options |
可选 |
匹配选项,数字组合:0 = 默认(区分大小写、单行模式)1 = 不区分大小写2 = 多行模式4 = 忽略空格和注释 |
返回值
2. REGEXP.EXTRACT:从文本中提取匹配正则的内容
语法
REGEXP.EXTRACT(text, pattern, [group], [options])
参数说明
| 参数 |
必选/可选 |
说明 |
text |
必选 |
目标文本 |
pattern |
必选 |
正则表达式匹配模式 |
group |
可选 |
提取的分组编号,默认 0(提取整个匹配内容);分组由正则中的 () 定义 |
options |
可选 |
同 REGEXP.MATCH 的 options 参数 |
返回值
3. REGEXP.REPLACE:替换文本中匹配正则的内容
语法
REGEXP.REPLACE(text, pattern, replacement, [options])
参数说明
| 参数 |
必选/可选 |
说明 |
text |
必选 |
目标文本 |
pattern |
必选 |
正则表达式匹配模式 |
replacement |
必选 |
替换后的文本,可使用 $n 引用正则分组($0 代表整个匹配,$1 代表第1个分组) |
options |
可选 |
同 REGEXP.MATCH 的 options 参数 |
返回值
三、常用正则表达式语法补充
| 正则符号 |
说明 |
示例 |
. |
匹配任意单个字符(除换行符) |
a.b 匹配 acb、aab |
* |
匹配前一个字符 0 次或多次 |
a* 匹配 ''、a、aaa |
+ |
匹配前一个字符 1 次或多次 |
a+ 匹配 a、aaa,不匹配 '' |
? |
匹配前一个字符 0 次或 1 次 |
a? 匹配 ''、a |
^ |
匹配文本开头 |
^abc 匹配 abc123,不匹配 xabc |
$ |
匹配文本结尾 |
abc$ 匹配 123abc,不匹配 abc123 |
[] |
匹配括号内任意一个字符 |
[abc] 匹配 a、b、c |
[^] |
匹配不在括号内的任意字符 |
[^abc] 匹配 d、1、x |
() |
定义分组,用于提取或引用 |
(abc)123 中 abc 为第1个分组 |
\d |
匹配任意数字(等价于 [0-9]) |
\d+ 匹配 123、45 |
\D |
匹配任意非数字 |
\D+ 匹配 abc、@# |
\w |
匹配字母、数字、下划线(等价于 [a-zA-Z0-9_]) |
\w+ 匹配 user123、name |
\W |
匹配非字母、数字、下划线 |
\W+ 匹配 @、#$% |
\s |
匹配任意空白字符(空格、制表符等) |
\s 匹配空格、\t |
四、实战案例
案例 1:使用 REGEXP.MATCH 验证手机号格式
需求:判断 A1 单元格的文本是否为 11 位手机号(以 1 开头,第二位为 3-9)。
案例 2:使用 REGEXP.EXTRACT 提取文本中的数字
需求:从 A2 单元格的混合文本中提取所有数字。
进阶:提取多个分组内容
若 A3 内容为 姓名:张三,年龄:25,需提取姓名和年龄:
- 正则模式:
姓名:(\w+),年龄:(\d+)
- 提取姓名公式:
=REGEXP.EXTRACT(A3, "姓名:(\w+),年龄:(\d+)", 1)
- 提取年龄公式:
=REGEXP.EXTRACT(A3, "姓名:(\w+),年龄:(\d+)", 2)
- 结果:姓名返回
张三,年龄返回 25。
案例 3:使用 REGEXP.REPLACE 替换文本中的敏感信息
需求:将 A4 单元格的手机号中间 4 位替换为 ****。
案例 4:忽略大小写匹配(使用 options 参数)
需求:判断 A5 单元格是否包含 excel(不区分大小写)。
五、注意事项
- 版本限制:REGEXP 系列函数仅支持 Excel 365/2021 及更高版本,低版本 Excel 需借助 VBA 或第三方插件实现正则功能。
- 转义字符:在 Excel 正则中,反斜杠
\ 无需额外转义(与其他编程语言不同),例如匹配小数点直接写 \. 即可。
- 多行模式:当
options=2 时,^ 和 $ 会匹配每行的开头和结尾,适用于处理换行符分隔的文本。
- 性能优化:复杂正则表达式在处理大量数据时可能较慢,建议先筛选目标数据再使用函数。