联系我们
简单又实用的WordPress网站制作教学
当前位置:网站首页 > 程序开发学习 > 正文

wps及word通配匹配与正则匹配之异同

作者:小教学发布时间:2023-10-01分类:程序开发学习浏览:73


导读:前言今天在chatgpt上找找有什么比赛可以参加。下面是它给我的部分答案,我想将其制成文档裱起来,并突出比赛名方便日后查找。这时理所当然地想到了查找替换功能,但是当我启用时却...

前言

今天在chatgpt上找找有什么比赛可以参加。下面是它给我的部分答案,我想将其制成文档裱起来,并突出比赛名方便日后查找。
在这里插入图片描述
这时理所当然地想到了查找替换功能,但是当我启用时却发现正则匹配居然没有了,现在只有通配匹配了。
在这里插入图片描述
使用过后发现其基本使用规则还是和正则挺像的,但有部分功能还是有差异。下文将详细描述其异同,并攻略通配匹配功能。

通配匹配攻略

注意:通配有两个大坑:
1、无法进行贪婪匹配 (任意多字符*除外)
2、不会特殊识别回车换行空格等等特殊字符
因此通配最好用投机取巧的方式进行匹配,不宜硬刚

相同点

1、 匹配规则相似,虽然转义字符不同,但语法格式一致。

字符正则通配
XX省..省 或 .{2}省??省 或 ?{2}省
单个字母或数字[0-9 a-z A-Z][0-9 a-z A-Z]
n到m个寄{n,m}寄{n,m}

相异点

1、 通配符相异。

字符正则通配注释
任意单个字符.正则中不包含换行符
任意多个字符.**正则中不包含换行符
多个x(贪婪)x+x{1,}通配存在重复匹配现象
不包含x字符(贪婪)[^x]+[!x]{1,}通配存在重复匹配现象
转义字符\\ 和 ^
以x开头^x<x
以y结尾y$y>

2、 通配规则适用范围小于正则规则。
如上面所说,正则匹配时多半会以"换行"和"回车"符号分段匹配,即搜索中遇"换行"和"回车"自动停止搜索。

3、 通配规则不适用贪婪查找,任意多字符*除外。其他表达式都是最小查找。

通配符

参考下列文章:
word和wps常用通配符和正则批量查找替换内容技巧
MS Office WORD中特殊字符及标记的查找与替换
Word中查找/替换通配符和代码

实战案例

匹配每段中**之间的字符

(形如:**大学生**、**某某大赛**等)
在这里插入图片描述

当我们直接选用以下代码时都会出现跨段落选取的问题:

(\*\*)*(\*\*)
(\*\*)[!^p]@(\*\*)

在这里插入图片描述
第二例失败的原因在于中括号只会进行单个字符的识别,所以所有转义字符都不能被中括号识别,同样也不能被反选!符号作用。因此在这种时候我们要学会变通:

(\*\*)[!]@(\*\*)

观察上下文可知,每段应识别字符后都会接,因此我们只要拒绝对其的识别便能避免跨段落选取。

注:正则匹配不会出现跨段选取的问题,因此直接使用第一种识别即可:/(\*\*).*(\*\*)/





程序开发学习排行
最近发表
网站分类
标签列表