notepad++ 批量替换删除指定字符之后 或者 之前的字符,Notepad+批量替换使用大全

notepad++ 批量替换删除指定字符之后 或者 之前的字符,Notepad+批量替换使用大全

资源宝分享:www.httple.net

注意: 不支持多行表达式 (involving \n, \r, etc).

1 基本表达式

符号解释
.匹配任意字符,除了新一行(\n)。也就是说 “.”可以匹配 \r ,当文件中同时含有\r and \n时,会引起混乱。要匹配所有的字符,使用\s\S。
(…)这个匹配一个标签区域. 这个标签可以被访问,通过语法 \1访问第一个标签, \2 访问第二个, 同理 \3 \4 … \9。 这些标签可以用在当前正则表达式中,或则替search和replace中的换字符串。
\1, \2, etc在替换中代表1到9的标签区域(\1 to \9)。例如, 查找字符串 Fred([1-9])XXX 并替换为字符串 Sam\1YYY的方法,当在文件中找到Fred2XXX的字符串时,会替换为Sam2YYY。注意: 只有9个区域能使用,所以我们在使用时很安全,像\10\2 表示区域1和文本”0”以及区域2。
[…]表示一个字符集合, 例如 [abc]表示任意字符 a, b or c.我们也可以使用范围例如[a-z] 表示所以的小写字母。
[^…]表示字符补集. 例如, [^A-Za-z] 表示任意字符除了字母表。
^匹配一行的开始(除非在集合中, 如下).
$匹配行尾.
*匹配0或多次, 例如 Sa*m 匹配 Sm, Sam, Saam, Saaam 等等.
+匹配1次或多次,例如 Sa+m 匹配 Sam, Saam, Saaam 等等.
?匹配0或者1次, 例如 Sa?m 匹配 Sm, Sam.
{n}匹配确定的 n 次.例如, ‘Sa{2}m’ 匹配 Saam.
{m,n}匹配至少m次,至多n次(如果n缺失,则任意次数).例如, ‘Sa{2,3}m’ 匹配 Saam or Saaam. ‘Sa{2,}m’ 与 ‘Saa+m’相同
*?, +?, ??, {n,m}?非贪心匹配,匹配第一个有效的匹配,通常 ‘<.>’ 会匹配整个 ‘content’字符串 –但 ‘<.?>’ 只匹配 ” .这个标记一个标签区域,这些区域可以用语法\1 \2 等访问多个对应1-9区域。

2 标记和分组

符号解释
(…)一组捕获. 可以通过\1 访问第一个组, \2 访问第二个.
(?:…)非捕获组.
(?=…)非捕获组 – 向前断言. 例如’(.*)(?=ton)’ 表达式,当 遇到’Appleton’字符串时,会匹配为’Apple’.
(?<=…)非捕获组 – 向后断言. 例如’(?<=sir) (.*)’ 表示式,当遇到’sir William’ 字符串时,匹配为’ William’.
(?!…)非捕获组 – 消极的向前断言. 例如’.(?!e)’ 表达式,当遇到’Apple’时,会找到每个字母除了 ‘l’,因为它紧跟着 ‘e’.
(?非捕获组 – 消极向后断言. 例如 ‘(?
(?P…)命名所捕获的组. 提交一个名称到组中供后续使用,例如’(?PA[^\s]+)\s(?P=first)’ 会找到 ‘Apple Apple’. 类似的 ‘(A[^\s]+)\s\1’ 使用组名而不是数字.
(?=name)匹配名为name的组. (?P…).
(?#comment)批注 –括号中的内容在匹配时将被忽略。

3 特殊符号

符号解释
\s匹配空格. 注意,会匹配标记的末尾. 使用 [[:blank:]] 来避免匹配新一行。
\S匹配非空白
\w匹配单词字符
\W匹配非单词字符
\d匹配数字字符
\D匹配非数字字符
\b匹配单词边界. ‘\bW\w+’ 找到W开头的单词
\B匹配非单词边界. ‘\Be\B+’ – 找到位于单子中间的字母’e’
\<This matches the start of a word using Scintilla’s definitions of words.
>This matches the end of a word using Scintilla’s definition of words.
\x运行用x来表达可能具有其他意思的字符。例如, [ 用来插入到文本中作为[ 而不是作为字符集的开始.

4 字符类

符号解释
[[:alpha:]]匹配字母字符: [A-Za-z]
[[:digit:]]匹配数字字符: [0-9]
[[:xdigit:]]匹配16进制字符: [0-9A-Fa-f]
[[:alnum:]]匹配字母数字字符: [0-9A-Za-z]
[[:lower:]]匹配小写字符: [a-z]
[[:upper:]]匹配大写字符: [A-Z]
[[:blank:]]匹配空白 (空格 or tab):[ \t]
[[:space:]]匹配空白字符:[ \t\r\n\v\f]
[[:punct:]]匹配标点字符: [-!”#$%&’()*+,./:;<=>?@[]_`{
[[:graph:]]匹配图形字符: [\x21-\x7E]
[[:print:]]匹配可打印的字符 (graphical characters and spaces)
[[:cntrl:]]匹配控制字符

5 替换操作

使用正则表达式的标记,通过()来包围想要用的字符,然后用\1 来替换字符串,第一个匹配文本。

例如:

Text bodySearch stringReplace stringResult
Hi my name is Fredmy name is (.+)my name is not \1Hi my name is not Fred
The quick brown fox jumped over the fat lazy dogbrown (.+) jumped over the (.+)brown \2 jumped over the \1The quick brown fat jumped over the fox lazy dog

其他方法:

想要把除了 “无敌大奶爸” 之外的所有内容去除。怎么做?
还是Ctrl+F,然后把不是无敌大奶爸的内容一个个输进去,在替换成空白,重复这个操作,
直到所有杂物排除掉。就可以搜到无敌大奶爸了。

逐个铲除多余的

最后得到干净的奶爸(这个反向查找不是反选别误会)
但这个始终是指标不治本,如果杂物更更更更多!!
没事,正则表达式出动吧!

我们撤销到刚才的凌乱状态,然后还是查找F,查找模式选择:正则表达式。
然后查找目标输入这个:

    无\S+敌\S+大\S+奶\S+爸

这样就能查到从无开始到爸结尾,中间穿插敌大奶的地方了。
\S =代表匹配任何一个字符,大写的。
\S+就是匹配任何一个字符包括往后的任何字符。一行内。

所以他会按照这个搜索: 无XX敌XX大XX奶XX爸
然后我们直接将他替代成: 无敌大奶爸,在搜索,就能找到所有的大奶爸了。

原来不止一个大奶爸

*******!!无敌大大大大奶爸也会被搜索出来!
无XX敌XX大XX奶XX爸有个弊端就是,如果里面有相同的字也会被忽略掉。
比如: 无XX敌敌X大大大X奶XX爸 => 无敌大奶爸
这样原本不是一个真的奶爸也会因为中间去掉了字数变成大奶爸,怎么办?

嗯哼?如果这样的话,我推荐你用两个字之间来逐个搜索了。

或者用人的智慧眼来分析呗,大家都是字,何必互相为难。

那我就用:   无\W+敌\W+大\W+奶\W+爸

\W = 匹配任何非单词字符。等价于“[^A-Za-z0-9_]”,后面跟 + 号同上,往后扩展。
这样我就只改英文字符和数字下划线等,无视中文,无敌大大大跟我没关系了!!

关于其他好玩的正则表达式,可以参考百度自己按。可以改数字,改标点XXX一大堆。
这里就不说了。

高级替代: 改变包含在其中的内容
想改包含在中间的某几个数字。

"display": {"thirdperson_righthand": {"rotation": [89, 180, 0],"translation": [-5.75, 0, -4]},

目标:想把 [?,x,?] 里的数字改成别的数字怎么做?

"display": {"thirdperson_righthand": {"rotation": [89, abc, 0],"translation": [-5.75, abc, -4]},

如果你要一个个替代 [] 里的内容,字数躲起来会很麻烦.
所以干脆直接用正则表达式解决。
搜索:  , \d+,  替换成 , 233,     (借助两个逗号定位来获取中间的数字 \d 代表0-9的数字)

其他方法:

删除“123”之后的所有字符用:

123.*?$

删除“123”之前的所有字符用:

^.*123

1、按组合键Ctrl + F,查找模式选择 '正则表达式',不选 '.匹配新行'2、查找目标输入 :^.*关键字.*\r?\n    (不保留空行)^.*关键字.*$  (保留空行)3、替换为:(空)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/113559.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

uniapp map地图实现marker聚合点,并点击marker触发事件

1.uniapp官方文档说明 2.关键代码片段 // 仅调用初始化&#xff0c;才会触发 on.("markerClusterCreate", (e) > {})this._mapContext.initMarkerCluster({enableDefaultStyle: false, // 是否使用默认样式zoomOnClick: true, // 点击聚合的点&#xff0c;是否…

经典算法试题(二)

文章目录 一、岁数1、题目2、思路讲解3、代码实现4、结果 二、打碎的鸡蛋1、题目2、思路讲解3、代码实现4、结果 三、分糖1、题目2、思路讲解3、代码实现4、结果 四、兔子产子1、题目2、思路讲解3、代码实现4、结果 五、矩阵问题1、题目2、思路讲解3、代码实现4、结果 六、谁是…

计网----数据包在传输中的变化过程,单播组播和广播,ARP协议,ARP代理,免费ARP,DNS协议,路由数据转发过程

计网----数据包在传输中的变化过程&#xff0c;单播组播和广播&#xff0c;ARP协议&#xff0c;ARP代理&#xff0c;免费ARP&#xff0c;DNS协议&#xff0c;路由数据转发过程 一.数据包在传输中的变化过程&#xff08;在同一个路由器下&#xff09; 1.传输数据时&#xff0c…

Spring IOC之@ComponentScan

博主介绍&#xff1a;✌全网粉丝4W&#xff0c;全栈开发工程师&#xff0c;从事多年软件开发&#xff0c;在大厂呆过。持有软件中级、六级等证书。可提供微服务项目搭建与毕业项目实战&#xff0c;博主也曾写过优秀论文&#xff0c;查重率极低&#xff0c;在这方面有丰富的经验…

Redis基本命令和常用数据类型

文章目录 前言一、Redis简介二、基本操作1.赋值2.取值3.切换数据库4.查看数据库所有键&#xff08;key&#xff09;5.查看键值类型6.移动键值到其他数据库7.设置键值生存时间&#xff08;两种&#xff09;8.查看键值生存时间9.查看当前数据库大小10.判断键是否存在11.清空当前数…

洛谷 P1216 [USACO1.5] [IOI1994]数字三角形题解

观察题目我们发现从前往后推会有条件判断&#xff0c;不容易写出来。所以就从后往前推。 也就是说后面的状态已经是推出来了&#xff0c;保证是最大值。 //数字三角形 #include<iostream> using namespace std; const int N 510; int f[N][N], n;int main() {ios::sync…

转行做程序员,多晚都不晚

大家好啊&#xff0c;我是董董灿。 最近有不少小伙伴加我微信咨询一些问题&#xff0c;有同学想了解AI行业的现状&#xff0c;想着转行的&#xff0c;也有在校生想了解毕业后工作方向的&#xff0c;当然也有想学习编程知识的。 诚惶诚恐&#xff0c;没想到之前写的文章&#…

Go开始:Go基本元素介绍

标识符与关键字 在任何编程语言中&#xff0c;标识符和关键字都是核心概念&#xff0c;Go也不例外。标识符用于命名各种类型的代码元素&#xff0c;如变量、常量、函数等。关键字是预留的词汇&#xff0c;用于指示编程语言的特定操作。在本部分中&#xff0c;我们将详细介绍Go语…

如何使用BERT生成单词嵌入?

阿比贾特萨拉里 一、说明 BERT&#xff0c;或来自变形金刚&#xff08;Transformer&#xff09;的双向编码器表示&#xff0c;是由谷歌开发的强大语言模型。它已广泛用于自然语言处理任务&#xff0c;例如情感分析、文本分类和命名实体识别。BERT的主要特征之一是它能够生成单词…

Servlet的生命周期

2023.10.18 WEB容器创建的Servlet对象&#xff0c;这些Servlet对象都会被放到一个集合当中&#xff08;HashMap&#xff09;&#xff0c;这个集合当中存储了Servlet对象和请求路径之间的关系 。只有放到这个HashMap集合中的Servlet才能够被WEB容器管理&#xff0c;自己new的Ser…

【经历】跨境电商公司目前已在职近2年->丰富且珍贵

我入职了跨境电商公司 *背景 上篇说我在2021-11月离职了&#xff0c;交接期间已经拿到了新公司的offer&#xff0c;然后因上家公司项目交接时间比较长(原因在上篇)&#xff0c;导致新公司这边延迟了两次入职的时间&#xff0c;最后结果是直接无缝衔接了新公司&#xff08;周五…

HTML5有哪些新特性?移除了哪些元素?

HTML5引入了许多新特性&#xff0c;以下是其中一些主要的新特性&#xff1a; 1&#xff1a;语义化元素&#xff1a;HTML5引入了一些新的语义化元素&#xff0c;如 <header>、<footer>、<nav>、<article>、<section>等&#xff0c;使得页面结构…

Python学习第3天-第一个Python程序

文章目录 前言一、创建项目二、创建程序总结 前言 下面给大家展示下经典的Hello World! 一、创建项目 二、创建程序 print("Hello World!")总结 回到顶部 学习网站 欢迎来到Python的世界&#xff01;

从头开始机器学习:逻辑回归

一、说明 本篇实现线性回归的先决知识是&#xff1a;基本线性代数&#xff0c;微积分&#xff08;偏导数&#xff09;、梯度和、Python &#xff08;NumPy&#xff09;&#xff1b;从线性方程入手&#xff0c;逐渐理解线性回归预测问题。 二、逻辑回归简介 我们将以我们在线性回…

C嘎嘎之类和对象上

> 作者简介&#xff1a;დ旧言~&#xff0c;目前大二&#xff0c;现在学习Java&#xff0c;c&#xff0c;c&#xff0c;Python等 > 座右铭&#xff1a;松树千年终是朽&#xff0c;槿花一日自为荣。 > 目标&#xff1a;掌握类的引用和定义&#xff0c;熟悉类成员函数的…

arrow(c++)改写empyrical系列1---用arrow读取基金净值数据并计算夏普率

用arrow c版本读取了csv中的基金净值数据&#xff0c;然后计算了夏普率&#xff0c;比较尴尬的是&#xff0c;arrow c版本计算耗费的时间却比python的empyrical版本耗费时间多。。。 arrow新手上路&#xff0c;第一次自己去实现功能&#xff0c;实现的大概率并不是最高效的方…

【(数据结构)— 双向链表的实现】

&#xff08;数据结构&#xff09;— 双向链表的实现 一.双向链表的结构二. 双向链表的实现2.1 头文件 ——双向链表的创建及功能函数的定义2.2 源文件 ——双向链表的功能函数的实现2.3 源文件 ——双向链表功能的测试2.4 双向链表各项功能测试运行展示2.4.1 双向链表的初始化…

git切换远程仓库源步骤

git切换远程仓库源步骤&#xff1a; 第一步&#xff1a;git remote -v 查看当前远程仓库源&#xff1a; 第二步&#xff1a;git remote rm origin删除远程仓库源&#xff1b; 第三步&#xff1a;git remote add origin http://newURL.git 添加新的远程仓库源地址&#xff1b…

云安全—分布式基础

0x00 前言 云必然是依赖于分布式技术来进行实现的&#xff0c;所以有必要学习和来了解分布式相关的内容 0x01 分布式计算 1.基本概述 分布式计算的定义&#xff1a;通过网络互联的计算机都具有一定的计算能力&#xff0c;他们之间互相传递数据&#xff0c;实现信息共享&…

用3D扫描生成合成数据

合成数据集&#xff08;Synthetic Datasets&#xff09;正在成为计算机视觉模型训练的标准部分。 虽然新工具使合成数据集变得更容易访问&#xff0c;但除了标准机器学习过程之外&#xff0c;许多工具还需要对 3D 建模有基本的了解。 最简单的捷径是从现实世界中获取现有对象并…