首页
看点啥
插画图片
首页 故障修理 Excel新函数REGEXP怎么用:操作要点整理

Excel新函数REGEXP怎么用:操作要点整理

2026-07-11 0

excel 本身没有单独叫 regexp 的正式函数,大家平时说的「regexp 新函数」,其实是 microsoft 365 新增的三个正则相关函数:regextest 用来判断文本是否符合指定规则,regexextract 用来提取匹配到的内容,regexreplace 用来按规则替换文本。平时处理订单号、客户编号、邮箱、编码这类格式固定的内容,先写好匹配模式,选对应的函数用就行。

本次操作环境:Microsoft Excel,版本为 Microsoft 365 16.93 桌面版。正则函数是 Microsoft 365 推出的较新功能,如果你用的是 WPS 或者旧版 Excel,得先确认软件本身支不支持这几个函数。

第一步:准备示例文本和正则模式

先把所有要处理的文本放到同一列,旁边列好你要判断、提取、替换的目标。这次示例用订单号、客户编号、产品型号和邮箱当素材,模式里的 d 代表任意数字,{4} 代表前面的规则要连续出现 4 次,^$ 分别限定从文本开头、结尾做匹配。

Excel新函数REGEXP怎么用?操作要点整理

如果只是要检查文本里「有没有某段内容」,匹配模式可以写宽松一点;但要判断整格内容是不是完全符合指定格式,就得加上开头和结尾的限定。比如订单号示例 ^A-d{4}-d{4}$ 的含义是:文本必须以 A- 开头,后面接4位数字,再跟一个短横线加4位数字。

第二步:用 REGEXTEST 判断是否匹配

在结果单元格输入 =REGEXTEST(A2,"^A-d{4}-d{4}$"),Excel 会直接返回 TRUE 或者 FALSE。TRUE 代表 A2 里的文本完全符合这个订单号格式,FALSE 代表前缀、位数、分隔符或者内容完整性任意一项不满足要求。

Excel新函数REGEXP怎么用?操作要点整理

REGEXTEST 非常适合做格式校验,比如核对员工编号、合同编号、客户编号、邮箱是不是符合规范。它只会返回「匹配/不匹配」的结果,不会把具体内容提出来,需要提取特定片段的时候换用 REGEXEXTRACT 就行。

第三步:用 REGEXEXTRACT 提取匹配内容

在客户编号提取列输入 =REGEXEXTRACT(A2,"KH-d{4}-d{4}"),就能从「华东-张三-KH-2026-0710」这类混杂的文本里单独把客户编号取出来。模式里的 KH- 是固定前缀,后面两段 d{4} 分别匹配4位数字。

Excel新函数REGEXP怎么用?操作要点整理

REGEXEXTRACT 还可以搭配捕获组使用,比如公式 =REGEXEXTRACT(A4,"@(.+)$",2) 就能从邮箱里提取 @ 后面的域名,第三个参数填2的时候,返回的是第一个匹配结果里的捕获组内容,而不是完整的匹配文本。

第四步:用 REGEXREPLACE 替换或脱敏

想要把客户编号最后四位替换成星号,可以输入公式 =REGEXREPLACE(A2,"(d{3})d{4}(d{4})","$1****$2")。这里用括号把不需要替换的前半段编号存起来,后面替换文本里直接用 $1 引用这段内容就行。

Excel新函数REGEXP怎么用?操作要点整理

REGEXREPLACE 不光能用来做信息脱敏,还能用来清洗文本。比如 =REGEXREPLACE(A3,"s+"," ") 可以把连续的多个空格合并成一个,=REGEXREPLACE(A4,"^编号:","") 可以直接删掉文本开头的固定中文前缀。

语法和参数怎么记

函数基础语法返回结果常用场景
REGEXTEST=REGEXTEST(text, pattern, [case_sensitivity])TRUE 或 FALSE判断编号、客户编号、邮箱等格式是否匹配
REGEXEXTRACT=REGEXEXTRACT(text, pattern, [return_mode], [case_sensitivity])匹配到的文本或捕获组从混合文本中提取订单号、客户编号、域名
REGEXREPLACE=REGEXREPLACE(text, pattern, replacement, [occurrence], [case_sensitivity])替换后的文本脱敏、去前缀、清理空格、统一格式

常用正则符号速查

符号含义示例
d任意数字d{4} 匹配 4 位数字
.任意单个字符A. 可匹配 A1、AB
*出现 0 次或多次s* 匹配可有可无的空白
+出现 1 次或多次s+ 匹配连续空格
{n}固定出现 n 次d{4} 匹配 4 位数字
[]字符范围[A-Z] 匹配大写字母
()捕获组(d{3}) 捕获前三位数字
^ / $开头 / 结尾^A 限制以 A 开头

常见错误和处理办法

现象可能原因处理办法
#NAME?当前 Excel 不支持该函数,或函数名拼错确认 Microsoft 365 版本是否已更新,函数名用 REGEXTEST、REGEXEXTRACT、REGEXREPLACE
#N/A 或空结果模式没有匹配到文本先放宽模式测试,再逐步加 ^$、位数限制
结果只提到一部分模式写得过窄,或捕获组参数返回了组内容检查括号位置和 return_mode,确认要返回完整匹配还是某个捕获组
替换结果不对捕获组编号引用错了REGEXREPLACE 里按括号顺序使用 $1$2

扩展示例

需求公式说明
判断客户编号=REGEXTEST(A2,"^KH-d{4}-d{4}$")适合录入前做格式检查
提取订单号=REGEXEXTRACT(A2,"A-d{4}-d{4}")从备注、流水、邮件标题中取编号
提取邮箱域名=REGEXEXTRACT(A2,"@(.+)$",2)用捕获组只返回 @ 后面的内容
压缩连续空格=REGEXREPLACE(A2,"s+"," ")清理复制来的名单、型号、地址
编号脱敏=REGEXREPLACE(A2,"(KH-d{4})-d{4}","$1-****")对外发清单前隐藏末段编号

三个函数分开记就很清楚:要判断格式合不合规,用 REGEXTEST;要把指定片段从文本里拿出来,用 REGEXEXTRACT;要改写替换文本内容,用 REGEXREPLACE。写匹配模式的时候先拿一个已知的样本调通,再批量填充到整列,要是出问题先检查三点:软件支不支持函数、正则规则是不是写太严、捕获组的编号有没有写错。

喜欢(0)

上一篇

微博手机版设置发布图片时展示昵称水印的方法

微博手机版设置发布图片时展示昵称水印的方法

下一篇

免费录音转文字软件推荐|高准确率、多语种支持、无需付费的实用工具

免费录音转文字软件推荐|高准确率、多语种支持、无需付费的实用工具
猜你喜欢