Excel新函数:正则抒发式(REGEX)函数 - Excel函数式编程


发布日期:2025-05-10 20:45    点击次数:105

图片

前一阵子太忙,公众号住手更新了一段本事。最近刚有点本事,念念起来望望微软有什么更新,果真发现微软在Excel中推出了正则抒发式函数。

其实很早就有东说念主问我对于Excel中使用正则抒发式的问题,还有东说念主吐槽:Word中齐复古正则抒发式,为什么在Excel中不复古?

当今大家不错宽心了,Excel也复古了!这里我就先精真金不怕火先容一下这几个正则抒发式函数的使用,看成还原更新的第一篇。

注:当今仍是惟有测试频说念的一又友不错使用这几个正则抒发式函数。什么是正则抒发式

正则抒发式,英文是Regular Expression,简写为Regex,是一种按照特地规章界说的字符串,用来示意一种字符串模式。

正则抒发式每每用来进行字符串查找,匹配或分析,比如查抄一个字符串是否合乎某种特定的模式,从一个字符串中抽取合乎特定模式的子串,约略将合乎特定模式的子串替换成给定的字符串。

这三种责任鉴识对应Excel中的三个函数。

一个典型的正则抒发式是这样的:

^a(?=.*\d)(?=.*[A-Z])(?=.*[a-z])[a-zA-Z\d]{7,}

不经由一段本事的学习就怕是退却易相识这个正则抒发式的含义的。

好在,也有一些不那么复杂的不错很容易掌抓的规章,比如:

“[0-9]”:轻易一个数字

“[a-z]”:轻易一个小写字母

“.”:轻易一个字符

“a”:一个小写字母“a“

“a*”:轻易多个(0个或多个)小写字母”a“

“a+”:一个或多个小写字母”a“

等等等等.....

迷水商城

说真话,我自身对正则抒发式函数的信得过作用是有所怀疑的。我不是怀疑它的广阔功能,而是怀疑有若干Excel用户能信得过掌抓正则抒发式。

不外对平方东说念主来说,这个门槛也裁减了好多,因为不错使用AI帮咱们生成正则抒发式,只消你刻画规章,当今一般的AI齐不错完成这个责任。比如,在通义千问中,就不错这样发问:

365站群VIP

要查找以a开首的包含至少8个数字和字母的字符串,同期包含数字,大写字母和小写字母,请写出正则抒发式

迷水商城

AI给出了这样的回复:

迷水商城

图片

REGEXTEST

REGEXTEST函数的作用是查抄一个字符串是否合乎给定的模式,淌若是,复返TRUE,不然复返FALSE。

迷水商城迷水商城

语法如下:

REGEXTEST (文本、模式、[case_sensitivity])

其中,

第一个参数“文本”,示意需要查抄的字符串;

迷水商城

第二个参数“模式”,示意给定的模式;

第三个参数引导是否按照大小写敏锐的花样查抄。淌若是0,示意大小写敏锐,淌若是1,示意大小写不敏锐。缺省为0。

底下是一个例子:

图片

B列使用TEGEXTEST查抄A列相应的字符串是否合乎给定模式。查抄效劳A1合乎,A2不合乎。REGEXEXTRACT

这个函数的作用是一个字符串中索要合乎给定模式的子串。

语法如下:

REGEXEXTRACT (文本、模式、[return_mode]、[case_sensitivity])

其中,

第一个参数“文本”,春药怎么买/春药购买方法示意待索要子串的字符串;

第二个参数“模式”,示意给定的模式;

第三个参数,示意复返类型。淌若为0,复返匹配的第一个子串;淌若为1,以数组形势复返匹配的通盘子串;淌若为2,复返第一个匹配项的拿获组;

迷水商城迷水商城

第四个参数,引导是否按照大小写敏锐的花样匹配。淌若是0,示意大小写敏锐,淌若是1,示意大小写不敏锐。缺省为0。

底下是一个例子:

图片

这里咱们使用了正则抒发式:

[A-Z][a-z]+

迷水商城

这里的模式是:开首是一个大写字母,然后随着1个或多个小写字母。

是以在字符串:

Regular Expression Functions

迷水商城

中,有三个合乎这个模式的字符串:

Regular

Expression

Functions

因此,B1中的公式就复返第一个:Regular。

B2中的公式需要复返一个数组,包含通盘的三个匹配效劳。

这里咱们莫得演示拿获组的用法,那是正则抒发式中比拟高档的意见。咱们在以后再详备先容。

不错念念象,这个函数对于那些字符串分拆的场景辱骂常有效的。

REGEXREPLACE

迷水商城

这个函数的作用是将字符串中合乎给定模式的子串替换为其他的实质。

语法如下:

迷水商城

REGEXREPLACE (文本、模式、replacement、[occurrence]、[case_sensitivity])

其中,

第一个参数“文本”,示意给定的字符串;

第二个参数“模式”,示意给定的模式;

第三个参数“replacement”,示意替换后的字符串;

第四个参数,示意需要替换的子串序号。淌若是0,示意通盘合乎该模式的子串齐需要替换。淌若是1,就替换第一个合乎模式的子串,依此类推。淌若是负数,就从后往前数。

第五个参数,引导是否按照大小写敏锐的花样匹配。淌若是0,示意大小写敏锐,淌若是1,示意大小写不敏锐。缺省为0。

底下是一个例子:

图片

迷水商城

这里,咱们但愿将身份证号的后四位替换成****,因此使用正则抒发式:

听话水华人国际商城

"[0-9]{4}$"

迷水商城

$示意字符串完毕,{4}示意4个,沿路的含义是完毕的四个数字组成的子串。

这个公式的作用便是将完毕的四个数字替换成"****"。

尽管REGEXREPLACE函数中莫得提到拿获组,不外使用拿获组不错完成好多复杂的替换。咱们以后再详备先容。

回想

从意见上,这三个函数卓绝容易相识。它们的功能也卓绝广阔。不外笃信大家也会发现,要念念剖判着三个函数的威力,相识和掌抓正则抒发式是必须的。背面我汇聚拢正则抒发式先容详备先容这三个函数的使用。

本站仅提供存储处事,通盘实质均由用户发布,如发现存害或侵权实质,请点击举报。