网站首页 > 基础教程 正文
今天我们继续来聊聊Excel的新函数——REGEXEXTRACT,它可以根据正则表达式来进行数据的提取,可以说是最强大的数据提取函数,没有之一,在WPS中叫做REGEXP函数,最然叫法不一样,但是用法基本上都是一模一样的。
一、什么是正则表达式
正则表达式是一种文本模式描述的方法,包括普通字符(如字母a到z)和特殊字符(称为“元字符”)。通常使用单个字符串来描述、匹配一系列符合某个句法规则的字符串。正则表达式通常被用于搜索、编辑或操作文本和数据。
简单来说就是:正则表达式可以通过一些特定的字符来描述出当前数据的规律,然后我们再通过这个规律来做数据提取与匹配
以下是一些常见的元字符,这个大家只需要做了解即可,不需要记得,毕竟都是AI时代了
二、REGEXEXTRACT
REGEXEXTRACT函数:根据正则表达式来进行数据的提取
语法:=REGEXEXTRACT (text、pattern、[return_mode]、[case_sensitivity])
参数1:需要提取的文本
参数2:正则表达式
参数3:匹配类型,一共有3个,下面会详细讲到
参数4:是否需要区分大小写
以上就是REGEXEXTRACT函数的参数,随后我们来了解下的使用方法
三、常规用法
在这里\d表示整数后面再跟一个+号就表示匹配一个或多个数字字符,
公式:=REGEXEXTRACT(B3,"\d+",0)
将第三参数忽略或者设置为0,只会返回第一个匹配到的结果
公式:=REGEXEXTRACT(B3,"\d+",1)
将第三参数设置为1,则表示匹配所有满足条件的结果
公式:=REGEXEXTRACT(B3,"\d+",2)
将第三参数设置为2.则会返回错误值,这个是因为第三参数是用来获取匹配组的第一个结果的,当前的正则表达式并不是匹配组,所以就会返回错误值,这用到的并不多大家了解即可
四、提取小数
公式:=REGEXEXTRACT(B3,"\d+\.?\d+",1)
跟大家简单的讲解下这个正则表达式的含义
\d+表示匹配多个数字,\.?表示匹配1个小数点,\d+再次匹配多个数字,这样的话就能构建好小数的匹配规则
如果你想对数据进行求和,需要注意的是该函数是一个文本函数,结果都是文本格式的数字,需要将结果乘1转换为数字格式才能求和
公式:=SUM(REGEXEXTRACT(B3,"\d+\.?\d+",1)*1)
五、提取字母
公式:=REGEXEXTRACT(B3,"[a-z]+",1,0)
在这里如果第四参数为0怎表示区分大小写,第四参数为1怎表示不区分大小写。
这个参数的意义其实并不大,可以使用使用[A-Z]表示大写字母,[a-z]表示小写字母
六、提取汉字
公式:=REGEXEXTRACT(B3,"[一-龟]+",1)
方括号是一个字符集,一-龟就表示汉字的范围,在这里范围是根据Unicode 编码的顺序,一到龟基本涵盖的所有的函数,所以是可以使用[一-龟]来代指所有的汉字的
七、AI协助
正则表达式的规则与用法真的非常多,甚至有大佬还为此转换写了一本书,但是我们真的完全没有必要去学习,现在AI已经非常普及了,遇到不会的正则表达值,直接询问AI即可
比如现在我们想要提取下面这个话的金额,就可以直接询问AI,它的答疑也基本都是正确的。
早上5个人花了100元,今天中午2个人花了12.6元,晚上花了19.63元
以上就是今天分享的全部内容,这个函数在WPS中叫做REGEXP,升级到最新版已经可以使用了,大家可以动手练习下,真的很好玩~
如果你想要提高工作效率,不想再求同事帮你解决各种Excel问题,可以了解下我的专栏,WPS用户也能使用,讲解了函数、图表、透视表、数据看板等常用功能,带你快速成为Excel高手
猜你喜欢
- 2025-03-30 使用正则表达式验证手机号-C#学习进阶
- 2025-03-30 Excel正则表达式:提取出负数的操作方法
- 2025-03-30 python利用正则提取字符串中的手机号
- 2025-03-30 WPS新增REGEXP函数正则表达式的实践应用4-提取
- 2025-03-30 551 实用指南:表格中日期格式的规范录入与转换技巧
- 2025-03-30 JMeter中3种参数值的传递(jmeter调用参数)
- 2025-03-30 python接口自动化(十一)--发送post「data」(详解)
- 2025-03-30 EXCEL VBA学习笔记:正则表达式(二)表达式语句写法
- 2025-03-30 玩转Python正则表达式,开启高效数据提取之旅
- 2025-03-30 REGEXP函数,提取固定内容之后的连续数字!
- 最近发表
- 标签列表
-
- gitpush (61)
- pythonif (68)
- location.href (57)
- tail-f (57)
- pythonifelse (59)
- deletesql (62)
- c++模板 (62)
- css3动画 (57)
- c#event (59)
- linuxgzip (68)
- 字符串连接 (73)
- nginx配置文件详解 (61)
- html标签 (69)
- c++初始化列表 (64)
- exec命令 (59)
- canvasfilltext (58)
- mysqlinnodbmyisam区别 (63)
- arraylistadd (66)
- node教程 (59)
- console.table (62)
- c++time_t (58)
- phpcookie (58)
- mysqldatesub函数 (63)
- window10java环境变量设置 (66)
- c++虚函数和纯虚函数的区别 (66)