ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 4927|回复: 137

[分享] WPS正则表达式练习用法

[复制链接]

TA的精华主题

TA的得分主题

发表于 2024-5-25 16:17 | 显示全部楼层 |阅读模式
本帖最后由 我的城市你来过 于 2024-6-16 10:30 编辑

定义:
1、正则表达式是对字符串进行过滤的一种方式,主要由具体的特定意义字符组成,特定意义的字符称为元字符。
用处:用来替换、检索符含某个规则的文本。

2、零宽断言是正则表达式中的一种方法,正则表达式在计算机科学中,是指一个用来描述或者匹配一系列符合某个句法规则的字符串的单个字符串。
(?=abc)以abc结尾的字符、(?!abc)不以abc结尾的字符;
(?<=abc)以abc开头的字符、(?<!abc)不以abc结开头的字符。

3、\s=空格、\R=char(10)回车键、*(0~N次)、?(0~1次)、+(1~N次)、\b(以某单词结尾)、^(开头符/反义符)、$(结尾符)、\(转义符)
、  |(or符)、()(=完整表达式)、[](=需选中集合单个字符条件)、{m,n}(匹配前面字符m~n次)

欢迎各位老师自己抽空来玩下自己的用法心得,60楼开始有练习题附件。



image.png







评分

8

查看全部评分

TA的精华主题

TA的得分主题

发表于 2024-5-25 16:24 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2024-5-25 17:21 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
=REGEXP(A1,"\D+",2)  凑个热闹

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2024-5-25 17:26 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2024-5-25 19:01 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册

TA的精华主题

TA的得分主题

发表于 2024-5-27 13:10 | 显示全部楼层
一脸慒逼地进来,一脸慒逼地出去

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2024-5-27 14:22 | 显示全部楼层

没有WPS,365参与下
  1. REGEXREPLACE(A2,"\/?\d+\*","+")
复制代码

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2024-5-28 17:33 | 显示全部楼层
根据不连续简称查全称
公式:
=TOCOL(MAP($A$2:$A$9,LAMBDA(x,REGEXP(x,".*"&REGEXP(D2,"(.)",2,"\1.*")))),2)

image.png

更多正则表达式应用案例,请参看下面的帖子 ③WPS新增的REGEXP函数,刚琢磨出的新颖用法【共三篇】

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2024-5-29 11:14 | 显示全部楼层
我的城市你来过 发表于 2024-5-29 11:00
20240529提取字母编号
=CONCAT(REGEXP(A2,"(?=[A-Za-z])\w+|-| "))
=CONCAT(REGEXP(A2,"[A-z]+.+"))

感觉提取汉字,再替换要简单一点

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2024-5-29 12:00 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2024-6-6 10:13 | 显示全部楼层
我的城市你来过 发表于 2024-6-6 09:32
20240606车次时间提取
=ARRAYTOTEXT(REGEXP(A1,"[\d月\d日|\d次|:分]+"))

根据正则中 [...] 中的符号是或的逻辑, 里面不需要加 | 和重复的 \d
=ARRAYTOTEXT(REGEXP(A1,"[\d月日次分:]+"))

评分

2

查看全部评分

TA的精华主题

TA的得分主题

发表于 2024-6-17 06:39 | 显示全部楼层
我的城市你来过 发表于 2024-6-11 20:55
20240611提取红字内容

=REGEXP(REGEXP(A1,"(?=()\W.+(?

正则替换可以一次搞定:
=REGEXREPLACE(A1,"^.*?(踱步)|(.*?)","$1")

image.png

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2024-6-23 04:26 | 显示全部楼层
我的城市你来过 发表于 2024-6-22 19:03
20240622书名作者出版社提取
=REGEXP(A1,"[^\s[[\d-]+")


WPS公式:
=REGEXP(A1,"^[^ \[[]+|\S(.+?)(?=\s\S+出版)|\S+出版\D+|[\d-]+(?=\n?$)")

EXCEL的正则提取函数返回的是一个竖向一维数组,需要用TOROW转为水平数组:

=TOROW(REGEXEXTRACT(A1,"^[^ \[[]+|\S(.+?)(?=\s\S+出版)|\S+出版\D+|[\d-]+(?=\n?$)",1))

20240622练习-03.rar (14.46 KB, 下载次数: 15)

评分

1

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-5-25 16:18 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
20240525分列、判断
=FILTER("是",SUM(--REGEXP($A7,REGEXP($B7,"[^、]+"),1)),"否")

image.png

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-5-25 16:21 | 显示全部楼层
20240525查找、匹配
=FILTER($A$8:$A$11,MMULT(--IFERROR(REGEXP($B2,$B$8:$C$11,1),0),{1;1})=1)
image.png

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-5-25 16:23 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
20240525查找、替换
=REGEXP(A1,"([\d.]+)",2,"吃了\1碗")

image.png

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-5-25 18:40 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
20240525提取、合并

=TEXTJOIN("、",,FILTER($E$2:$E$16,MAP($D$2:$D$16,LAMBDA(x,REGEXP(x,$A2,1)))))
image.png

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-5-25 19:24 | 显示全部楼层
20240525判断,提取
=CONCAT(FILTER(REGEXP($A2,"."),FALSE=ISNUMBER(FIND(REGEXP($A2,"."),CONCAT($C$2:$E$2)))))

image.png
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-15 10:46 , Processed in 0.052240 second(s), 13 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表