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

news/2024/7/20 14:33:58 标签: wps, word, 通配符, 正则匹配, 查找, word通配查找

前言

今天在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、 通配规则不适用贪婪查找,任意多字符*除外。其他表达式都是最小查找

通配符

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

实战案例

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

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

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

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

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

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

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

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


http://www.niftyadmin.cn/n/5048972.html

相关文章

React Router 关键知识点回顾

安装 React Router npm i react-router npm i react-router-dom配置路由 使用React Router来定义应用的路由其实比较简单&#xff0c;只需要简单的两个步骤&#xff1a; 在项目根目录下的index.tsx文件中声明堆栈路由。 <BrowserRouter><App /> </BrowserRo…

pandas中如何取需要的列数据以及转化成字符串数据

1.并不想展示所有的数据&#xff0c;只要某一列的几个数据&#xff0c;操作方法 板块 A股代码 A股简称 A股上市日期 A股总股本 A股流通股本 所属行业 0 主板 000001 平安银行 1991-04-03 19,405,918,198 19,405,546,950 J 金融业 1 主板 000002 万 科&#xff21; 1991-01-29 9…

【力扣】674. 最长连续递增序列 <贪心模拟、动规>

【力扣】674. 最长连续递增序列 给定一个未经排序的整数数组&#xff0c;找到最长且 连续递增的子序列&#xff0c;并返回该序列的长度。 连续递增的子序列 可以由 两个下标 l 和 r&#xff08;l < r&#xff09;确定&#xff0c;如果对于每个 l < i < r&#xff0c;…

数据结构 | 树

树 树是n&#xff08;n>0&#xff09;个结点的有限集。当n 0时&#xff0c;称为空树。在任意一棵非空树中应满足&#xff1a; 有且仅有一个特定的称为根的结点。当n>1时&#xff0c;其余节点可分为m&#xff08;m>0&#xff09;个互不相交的有限集T1,T2,…,Tm&#…

翻译像机翻?4点教会你ChatGPT高质量翻译

如果完全靠自己的英文和中文水平&#xff0c;要达到这样的翻译速度和质量那是不太可能的&#xff0c;主要还是得益于ChatGPT的帮助&#xff0c;首先用GPT-4的API粗翻&#xff0c;再用ChatGPT Plus精翻。很多人都用过ChatGPT翻译&#xff0c;但翻译出来的结果比起Google翻译和De…

【Java】helloworld

代码编写 切换盘符 D:\>cd lyj\java_test用javac编译当前文件 D:\LYJ\Java_test>javac helloWorld.java用Java运行代码 D:\LYJ\Java_test>java helloWorldhelloworld代码&#xff1a; public class helloWorld{public static void main(String[] args){System.ou…

使用 rtty 进行远程 Linux 维护和调试

rtty 是一个用于在终端上进行远程连接和数据传输的工具。它提供了一种简单的方式来与远程设备进行通信&#xff0c;使得在不同主机之间传输数据变得更加方便。 安装 rtty 是一个可执行程序&#xff0c;可以在 Linux、macOS 和 Windows 等平台上使用。 Linux/macOS 在终端中执…

Java安装教程 - 从下载到配置环境变量,轻松掌握Java的安装步骤

引言 Java是一种广泛使用的编程语言&#xff0c;安装Java是学习和开发Java程序的第一步。本文将详细介绍Java的安装过程&#xff0c;包括下载Java Development Kit&#xff08;JDK&#xff09;、运行安装程序、配置环境变量以及验证安装。通过按照本文的步骤操作&#xff0c;你…