乐于分享
好东西不私藏

WPS通配符提取与REGEXP函数应用

WPS通配符提取与REGEXP函数应用
PART
01
WPS文字特殊格式符号与通配符
符号
含义
典型用途
^p
段落标记(回车符)
删除空行
^t
制表符(Tab)
清理对齐混乱
^l
手动换行符(软回车)
PDF复制后的格式修复
^m
手动分页符
删除多余分页
^?
任意单个字符
模糊匹配
^#
任意数字
匹配数字
^$
任意字母
匹配字母
^&
查找内容(仅替换框可用)
在替换内容前后加东西
通配符
含义
示例
?
任意单个字符
张?可对应张三、张伟、张A,但不能对应张、张三四
.
任意单个字符(英文句号)
a.c可对应abc、a1c、a_c,但不能对应ac、abbc
*
0个或多个任意字符
张*,匹配”张”及之后的所有内容直到段落结束
@
前一个字符出现1次或多次
lo@se,匹配lose、loose、looose
{n}
前一个字符恰好出现n次
lo{2}se只匹配 loose
{n,}
前一个字符至少出现n次
lo{2,}se
loose、looose、loooose
{,m}
前一个字符最多出现m次
lo{,2}se匹配lose、loose
{n,m}
前一个字符出现n到m次
lo{1,2}se匹配lose、loose
[abc]
匹配a、b、c中的任意一个
[张李王]三,匹配张三、李三、王三
[a-z]
匹配a到z范围内的任意一个
[A-Z][0-9]匹配A1、B3、Z9
[!abc]
匹配除a、b、c外的任意一个
[!张]三,匹配李三、王三,不匹配张三
[!a-z]
匹配不在a到z范围内的任意一个
[!0-9],匹配任意非数字字符
<
单词开头
<work,匹配workplace、workflow,不匹配 homework
>
单词结尾
ing>,匹配working、playing,不匹配 ingredient
()
分组捕获
将匹配到的内容分组,在替换中可用 \1 \2 引用
\n
反向引用
在替换框中,\1代表第一个分组匹配到的内容
~
转义后面的通配符字符,使其作为普通字符匹配
\

转义特殊字符

\?或\*匹配实际的问号或星号

PART
02
正则表达式基础(WPS表格

正则表达式就是用一些特殊的字符来表达或总结字符串的规律或特性。比如用\d或[0-9]表示数字,那么\d{11}就表示11位的整数。

操作符
含义
示例

.

通配符,代表式中的小数点,表示除换行符外的任何单个字符

(.*)表示全角括号及括号内的内容

[]

中括号表示字符集,对个字符给出取值范围,中括号内的.代表小数点。如[一-龟]表示单个任意汉字,[0-9]表示单个任意数字

[abc]表示abc[a-z]表示a-z单个字符(任意一位小写字母)

[0-9.]+表示可含小数点的数值

[^]

非字符集。对单个字符给出排除范围

[^abc]表示非a或非b或非c的单个字符,[^一-龟]+表示除连续汉字串之外

*

通配符,星号表示前一个元素的0次或者无限次的扩展

abc*表示ababcabccabcccc等等(匹配 ab

+

通配符,前一个元素的1次或者无限次的扩展

abc+表示 abcabcccabccabccccc等(不匹配 ab

?

前一个元素的0次或者1次扩展

abc?仅表示 ababc。

可以把“4th|4”简化为“4(th)?”。我们看到“?”作用的元素是整个括号了

|

左右表达式中的任意一个。左右表达式可以是多字符。注意与[ ]的区别

abc|def表示abcdef

{m}

扩展前一个字符m次

ab{2}c表示abbc

{m,n}

扩展前一个字符m至n次(含m和n次)

ab{1,2}c匹配abcabbc

^

匹配字符串开头

^abc表示abc在一个字符串的开头,即不匹配 aabc

$

匹配字符串结尾

abc$表示abc在一个字符串的结尾,即不匹配abcd

()

分组标记内部只能使用|操作符

(abc)表示abc ,(abc|def)表示abcdef

\
转义字符,把正则表达式符号,转换成普通符号
\.表示小数点文本

\d

一位数字,等价于[0-9]

\w

组成单词的字符,表示任意一个字母或数字,等价于[A-Za-z0-9_]

表示字符小写大写的a-z和数字0-9以及下划线_,[\w.]+表示多个字母、数字或小数点

(?=...)
正向后顾,匹配后面跟着指定内容的位置,括号代表指令集,点号个数表示提取字符数
[0-9.]+(?=元)表示提取后面有“元”字前的数字金额
(?<=...)
正向前顾,匹配前面跟着指定内容的位置,括号代表指令集,点号个数表示提取字符数
(?<=()...)表示提取字符左括号后的内容内的文字
PART
03
REGEXP函数语法

=REGEXP(要处理的字符串, 正则表达式, [匹配模式], [替换内容])

各参数说明如下:

· 第1参数 (要处理的字符串):需要处理的文本或单元格引用。

· 第2参数 (正则表达式):用于匹配文本的模式。

· 第3参数 (匹配模式):可选,决定函数的操作类型。

  · 0 或 省略:提取(最常用)。

  · 1:判断,返回 TRUE 或 FALSE。

  · 2:替换,此时需配合第4参数。

  · 3:完整提取,返回全部匹配结果。

· 第4参数 (替换内容):可选,仅在模式为 2 时有效,指定用于替换的文本。

PART
04
提取字符中的数字

正则表达式解释:

[0-9]:匹配任意一个数字字符,从0到9。

.:匹配小数点字符。在正则表达式中,点是一个特殊字符,表示匹配除了换行符之外的任意单个字符。但在这里,由于它被放在了方括号内,它失去了特殊含义,只表示匹配字面量的点字符。

-:匹配短横线字符。同样,在方括号内,短横线只是一个普通字符,不表示范围。

[0-9.-]:方括号表示一个字符集,该集合包含数字0到9、点字符和短横线字符。匹配时,它会尝试匹配这个集合中的任意一个字符。

+:表示匹配前面的字符集一次或多次。因此,[0-9.-]+ 会匹配一个或多个连续的数字、点或短横线字符。

如果字符串中有多个数字,在最外围套一个SUM函数,就能求和

=SUM(--REGEXP(A5,"[0-9.-]+"))

PART
05
拆分中英混合的字符串

提取中文的公式:

=REGEXP(A1,"[一-龟]+")

[一-龟]代表汉字,详细解释请阅读下面的文章

  • 为什么可以用一-龟来指代常用汉字?

提取非中文的公式:

=REGEXP(A1,"[^一-龟]+")

正则表达式解释:

  1. []:这是一个字符集,用于匹配括号内列出的任意单个字符。

  1. ^:在字符集的开头,它表示否定,即匹配不在字符集中的任何单个字符。

  1. 一-龟:这表示从汉字“一”到汉字“龟”的字符范围。注意,这个范围并不是按照字母顺序来定义的,而是按照 Unicode 编码的顺序。这意味着它将匹配从“一”到“龟”这个范围内所有的汉字。

  1. +:表示匹配前面的模式(在这里是字符集)一次或多次。

PART
06
提取第一个汉字后的所有内容

公式:

=REGEXP(A2,"[一-龟]+.*")

正则表达式解释:

[一-龟]:这是一个字符集,表示匹配从汉字“一”到汉字“龟”之间的任意单个汉字。注意,这里的范围并不是基于字典顺序,而是基于这些汉字在 Unicode 编码中的顺序。

+:表示匹配前面的字符集(在这里是 [一-龟])一次或多次。也就是说,这个正则表达式会匹配一个或多个连续的汉字,这些汉字的范围是从“一”到“龟”。

.*:这里的 . 表示匹配除了换行符之外的任意单个字符,而 * 表示匹配前面的字符(在这里是 .)零次或多次。因此,.* 会匹配任意数量的任意字符(包括零个字符)。

PART
07
提取第一个汉字前的内容

公式

=REGEXP(A2,"^[^一-龟]+")

正则表达多解释:

^:这个符号表示匹配字符串的开始位置。也就是说,整个正则表达式模式必须匹配字符串的起始部分。

[]:这是一个字符集,用于匹配括号内列出的任意单个字符。

^:在字符集的开头,它表示排除、否定,即匹配不在字符集中的任何单个字符。注意,这里的 ^ 是字符集内的第一个字符,因此它表示否定,而不是匹配字符串的开始位置。

一-龟:这表示从汉字“一”到汉字“龟”的字符范围。注意,这个范围并不是按照字母顺序来定义的,而是按照 Unicode 编码的顺序。

+:表示匹配前面的模式(在这里是字符集)一次或多次。

PART
08
按指定字符拆分

(1)按指定字符拆分

=REGEXP(A2,"([^,]+)")

(2)按换行符拆分

=REGEXP(A2,".+")

正则表达式解释

.:这个符号在正则表达式中表示匹配除了换行符之外的任意单个字符。

+:这个符号表示匹配前面的字符(在这里是 .)一次或多次。

PART
08
WPS文字通配符

常见应用场景

场景1:三秒清空文档所有空白行

操作方法:在“查找内容”中输入:^p^p,并在“替换为”中输入:^p,不要勾选“使用通配符”**(^p 是特殊格式符号,不需要通配符模式),再点击”全部替换”即可。

进阶方法:勾选“使用通配符”,查找内容输入 ^13{2,},替换为输入 ^p,一次替换就能清除所有连续空行。^13 在ASCII码中代表回车符。

场景2:批量删除文档多余空格

操作方法:高级搜索 → 勾选”使用通配符”,查找内容: {2,}(注意:空格+{2,},表示2个及以上连续空格),替换为: (一个空格),再点”全部替换”——N次重复直到提示0处。

场景3:统一混乱的手机号格式

操作方法第一步:去掉所有非数字字符(空格、横线、括号等),查找内容:[!0-9],替换为:留空,勾选”使用通配符”,全部替换后,手机号变成纯数字串,但全部连在一起了第二步:给手机号分段(如果要格式化成 138-0000-0000),查找内容:([0-9]{3})([0-9]{4})([0-9]{4}),替换为:\1-\2-\3,勾选”使用通配符”

分组解读:([0-9]{3}) 匹配前3位数字并分到第1组,([0-9]{4}) 匹配中间4位并分到第2组,最后一个分组匹配末4位。替换框中 \1-\2-\3 用横线连接三组。

场景4:把“2025.06.26”格式的日期统一成“2026-06-26”

操作方法:查找内容:([0-9]{4}).([0-9]{1,2}).([0-9]{1,2}),替换为:\1-\2-\3,勾选”使用通配符”。

场景5:批量提取括号内的内容

操作方法查找内容:((*)) 或 \((*)\)(英文括号时),替换为:\1,勾选”使用通配符”

应用解读:中文括号 () 和英文括号 () 是不同的字符。中文括号本身不是通配符,可以直接使用;英文括号是通配符的分组符号,需要使用 \( 和 \) 转义。如果只想删除括号但保留里面的内容:查找内容((*))替换为\1。如果想连括号带内容一起删除:查找内容((*))替换为空。

场景6:批量给指定格式的文字添加标记

操作方法高级搜索 → 勾选”使用通配符”,查找内容:《(*)》,替换为:《\1》,关键步骤:光标保持在”替换为”输入框中,点击下方的**“格式”按钮 → 字体 → 字形选择”加粗”**,点击”全部替换”。

进阶方法:将“序号1、标题。”的内容加粗,查找内容输入“[0-9]@、*。”,高级搜索中使用通配符,点击替换(内容为空)后点击下方的**“格式”按钮 → 字体 → 字形选择”加粗”**,点击”全部替换”

场景7:合并被切断的段落

操作方法如果段落以中文结尾(不是句号、问号等结束标点),说明被切断了。操作方法:查找内容:([!。!?])^p,替换为:\1,勾选”使用通配符”。

应用解读:如果你的PDF文字是用 ^l 断行的(而不是 ^p),先执行:查找 ^l 替换为 ^p,然后用上面的方法清理。

PART
09
WPS文字辅助排版

1、选择题答案改空值:查找(?),替换为( ),勾选使用通配符,再点击替换。

2、将选择题答案对齐排列:查找[ABCD],勾选使用通配符,替换内容中加入制表符^t查找内容^&,格式中加入制表符位置2字符、11字符、21字符、31字符,设置合适的引导符,确定后替换即可。

3、制作目录省略号:选择目录所有文字,右键选择段落,点击选择制表位,设置制表位位置40字符,对齐方式选择右对齐,前导符勾选5省略号,确定后,在页码前播入制表符tab键。

4、相似标题快速排版:选中第一页第一个大标题后,点击查找图标下方小箭头,选择“选择格式相似的文本”,选中所有标题后,在文字上右击鼠标选择“段落”,将大纲级别设置为“一级”及其他相关的格式,点击确定即可通过样式快速排版,并设置目录。

5、清除杂乱的文本格式:按Ctrl+A全选所有内容后,点击橡皮清除所有格式,按Ctrl+D调出字体界面,设置中文与英文字体,再按Alt+o+p调出段落界面,设置首行缩进2字符,段落间距29.5磅,按Ctrl+H调出替换界面,用替换删除多余空格和多余换行。

6、修改参考文件上标:查找中输入[]并在其中插入特殊格式“任意数字^#”,在替换中设置字体“上标”格式,全部替换。

7、对齐甲方乙方信息:选择所有甲方乙方信息,然后在标尺24CM位置添加一个制表位,而后在乙方信息前插入一个制表位Tab键,即可对齐。如果要对齐冒号,则用CTRL选中对应行冒号前的文字,点击中文版式A图标,选择调整宽度,设置新文字宽度为最多的字符号,确定后即可对齐。

8、消除隐藏的切分段落标记:点击“双向行符”的显示或隐藏编辑标记,即可显示隐藏的切分段落标记“分节符(下一页)”,按住CTRL键后点击“分节符(下一页”选中后,按删除键删除即可。