notepad++中使用正则表达式
目录
- notepad++中使用正则表达式
- notepad中正则表达式的语法
- notepad中常用的正则表达式类
- notepad中查找窗口的关于正则表达式的参数说明
- notepad正则表达式不能选择匹配内容
- notepad正则表达式使用举例
- 正则表达式提取分隔符前的内容
- 正则表达式替换一个分隔符为换行符
- 删除多余的空行
- 正则匹配并按匹配组进行替换
- 参考
notepad中正则表达式的语法
首先,注意Notepad++正则表达式字符串最长不能超过69个字符。
第二,notepad中的正则表达式语法与通用的正则表达式语法以及python re模块中支持的正则表达式语法都没有没有实质区别,列举如下:
-
\
转义字符 如:要使用 “\” 本身, 则应该使用“\” -
\t
Tab制表符 注:扩展和正则表达式都支持 -
\r
回车符CR 注:扩展支持,正则表达式不支持 -
\n
换行符LF 注:扩展支持,正则表达式不支持 -
\r\n
正则表达式可表示回车换行 -
.
匹配任意一个字符 -
^
其右边的表达式被匹配在行首。如:^A匹配以“A”开头的行 -
$
其左边的表达式被匹配在行尾。如:e$匹配以“e”结尾的行 -
|
或运算符,匹配表达式左边和右边的字符串。如:ab|bc匹配“ab”或“bc” -
[]
匹配列表中任意单个字符。如:[ab]匹配“a”或“b”;[0-9]匹配任意单个数字 -
[^]
匹配列表之外的任意单个字符。如:[ab]匹配“a”和“b”以外的单个字符;[0-9]匹配任意单个非数字字符 -
*
其左边的字符被匹配任意次(0次或多次)。如:be*匹配“b”,“be”或“bee” -
+
其左边的字符被匹配至少一次(1次或多次)。如:be+匹配“be”或“bee”,但不匹配“b” -
?
其左边的字符被匹配0次或者1次。如:be?匹配“b”或“be”,但不匹配“bee”;\r?\n匹配行结尾符 -
()
影响表达式匹配的顺序(类似C++的小括号会影响表达式运算顺序),并且用作表达式的分组标记(标记从1开始)如:([a-z]bc)smn\1匹配“tbcsmntbc”;另见:看下文的示例 -
{}
指定前面的字符或分组的出现次数 如:abc{3}匹配abccc;a(bc){2}匹配abcbc -
\d
匹配一个数字字符。等价于:[0-9] -
\D \d
取反,匹配一个非数字字符。等价于:[^0-9] -
\s
匹配任意单个空白字符:包括空格、制表符等(注:不包括换车符和换行符)。等价于:[ \t] -
\S \s
取反的任意单个字符。 -
\w
匹配包括下划线的任意单个字符。等价于:[A-Za-z0-9_] -
\W \w
取反的任意单个字符。等价于:[^A-Za-z0-9_] -
\b
匹配单词起始处或结尾处
notepad中常用的正则表达式类
下表中列举的内容,左侧pattern 或者meaning列中的冒号后面的表达式,都可以用于在notepad 查找窗口中的正则表达式模式下的查找目标,就可以匹配相应的内容。
Pattern | Meaning |
---|---|
[[:alpha:]] | 匹配一个英文字母: [A-Za-z] |
[[:digit:]] | 匹配一个数字: [0-9] |
[[:xdigit:]] | 匹配一个十六进制数字: [0-9A-Fa-f] |
[[:alnum:]] | 匹配一个字母数字: [0-9A-Za-z] |
[[:lower:]] | 匹配一个小写英文字母: [a-z] |
[[:upper:]] | 匹配一个大写英文字母: [A-Z] |
[[:blank:]] | 匹配一个空白(空格或者制表符):[ \t] |
[[:space:]] | 匹配一个空白符:[ \t\r\n\v\f] |
[[:graph:]] | 匹配一个图形字符: [\x21-\x7E] |
[[:print:]] | 匹配可打印字符(图形字符和空格) |
[[:cntrl:]] | 匹配控制(control)字符 |
[[:punct:]] | 匹配一个标点字符:[-!"#$%&'()*+,./:;<=>?@[]_`{ |
notepad中查找窗口的关于正则表达式的参数说明
-
正则表达式的选中点:表示你在查找中输入的内容是一个正则表达式
-
匹配新行的复选框:如果如果选中该复选框,则表示使用点时,不是针对每一行而是针对整个文档进行搜索。大多数的使用场景下,不勾选该复选框。
notepad正则表达式不能选择匹配内容
注意:notepad++ 不支持匹配提取。 一般操作正则表达式主要是用来匹配查找、匹配替换。
这个提取问题可以使用sublime text来进行实现, SublimeText可以选中所有匹配项。
另外EmEditor也可以选中正则表达式的匹配项,但是EmEditor这个软件不是开源的,也不是免费的,所以推荐还是使用sublime text。
notepad正则表达式使用举例
正则表达式提取分隔符前的内容
举例:notepad文档中的输入内容如下(注意以下每行结尾都有换行符CR|LF)
libX11-1.6.5
lksctp-tools-1.0.17
mailcap-2.1.41
ctrl H, 查找目标输入 ([^-]*).*
替换为输入,\1
点击全部替换后的结果为
libX11
lksctp
mailcap
正则表达式替换一个分隔符为换行符
原始文档为
libX11;lksctp;mailcap;
ctrl H, 查找目标输入 ;
替换为输入,\r\n
点击全部替换后的结果为
libX11CR|LF
lksctpCR|LF
mailcapCR|LF
删除多余的空行
原始文档内容为
libX11CR|LF
CR|LF
CR|LF
lksctpCR|LF
CR|LF
mailcapCR|LF
目标是,删除多余的空行。
ctrl H, 查找目标为\r\n\r\n
,
替换为输入\r\n
点击全部替换,全部替换也需要多点击2次,就可以看到所有的空行被删除了。
替换后结果为:
libX11CR|LF
lksctpCR|LF
mailcapCR|LF
正则匹配并按匹配组进行替换
正则表达式支持带标记的表达式(tagged expressions
)。使用(
和)
包围要标记的文本,然后在替换字符串中使用\ 1替换第一个匹配的文本,用\ 2替换第二个匹配的文本,即可完成此操作。举例如下:
Text body | Search string | Replace string | Result |
---|---|---|---|
Hi my name is Fred | my name is (.+) | my name is not \1 | Hi my name is not Fred |
The quick brown fox jumped over the fat lazy dog | brown (.+) jumped over the (.+) | brown \2 jumped over the \1 | The quick brown fat jumped over the fox lazy dog |
相关文章:
notepad++中使用正则表达式
目录 notepad中使用正则表达式 notepad中正则表达式的语法notepad中常用的正则表达式类notepad中查找窗口的关于正则表达式的参数说明notepad正则表达式不能选择匹配内容notepad正则表达式使用举例 正则表达式提取分隔符前的内容正则表达式替换一个分隔符为换行符删除多余的空…...

什么蓝牙耳机打游戏好?打游戏好用的无线蓝牙耳机
午休或是周末约上好友玩两局游戏,是忙里偷闲的快乐时刻,对于普通游戏玩家,其实耳机够用就行,下面就分享几款打游戏好用的蓝牙耳机。 一、南卡小音舱蓝牙耳机 蓝牙版本:5.3 推荐系数:五颗星 南卡小音舱li…...

基于appium的app自动化测试框架
App自动化测试主要难点在于环境的搭建,appium完全是基于selenium进行的扩展,所以app测试框架也是基于web测试框架开发的 一、设备连接 (即构建基础的测试环境,保证可以驱动设备进行操作) 0.准备测试环境 1࿰…...

【拿好了!Linux 运维必备的 13 款实用工具!】
本文介绍几款 Linux 运维比较实用的工具,希望对 Linux 运维人员有所帮助。 查看进程占用带宽情况 – Nethogs Nethogs 是一个终端下的网络流量监控工具可以直观的显示每个进程占用的带宽。 下载: http://sourceforge.net/projects/nethogs/files/ne…...

软考中级--嵌入式系统设计师考试培训教程开始了
1.考试时间: 1.1 上半年5月下旬考试 1.2 下半年11月上旬考试 2.考试内容 2.1 系统基础 满分75分 时间150分钟 2.2 系统设计 满分75分 时间150分钟 3.计划安排 3.1 熟悉考试大纲 3.2 按考纲学习相关内容 整理设计知识 快速学习形成知识印象 3.3 复习整理的知识 …...

JDBC学习(复习)-面试总结详细
JDBC详细介绍一、JDBC详细介绍二、jdbc面试总结2.1 JDBC操作数据库的步骤 ?2.2 JDBC中的Statement 和PreparedStatement,CallableStatement的区别?2.3 JDBC中大数据量的分页解决方法?2.4 说说数据库连接池工作原理和实现方案?2.4…...

前端:你不知道的async await
1.先抛出一个场景:你是否在日常开发中经常使用类似代码?async function getXXList () {const result await this.getArrListApi({page:1,id:2})this.arr result.data.listconsole.log(结果是…, this.arr)……………………其他逻辑代码 }1.1 问题那你是…...

c#前端实现对pcl点云颜色根据强度特征动态变化突出指定对象
前言 本文主要介绍如何使用c# winform对点云颜色根据点云强度信息对显示的点云颜色进行动态调整。 目的是根据强度信息采用不同的颜色特征突出不同的物体。 一、点云强度是什么? 点云强度又可以叫做反射率, 通常常见的点云格式包括:以pcl为…...

如何制定达人营销策略
如今,达人营销不再是一个新兴趋势,而是公司整个数字营销战略的一部分。虽然十年前,达人还不存在,但随着公司对数字化营销依赖度地提升,各个领域的大V群体逐渐壮大,越来越多的公司已经采用了达人营销策略。如…...
100种思维模型之三层解释思维模型-020
很多人认为,世界首富巴菲特的日子很轻松,因为他想要什么就可以买什么。 所以,人人都学巴菲特,但很多人不知道学习他什么…… 润米咨询董事长刘润老师在2020年干了这样一件事情:向100个不认识的人学习。如,向…...

RK系列(RK3568) i2s 音频输入 麦克风驱动
平台:Android12SOC:RK3568外围芯片:XS9922i2s简介:从上图看I2s主要的线有:SDO SCLK LRCK MCLK I2S协议只定义三根信号线:串行时钟信号SCLK(BCLK)、数据信号SD和左右声道选择信号WS。(1ÿ…...

Python|Pymol的安装
Pymol的使用其实可以分为两种,一种是GUI图形操作界面,直接可以去Pymol官网上下,另一种则是使用API的方式直接调用,适合写脚本批量处理一些东西。建议画图,看结构直接用GUI,但是计算RMSD啥的,用…...

Mysql中关于查询日志的配置详解
查询日志 MySQL中的查询日志保存在文本文件中,能够记录MySQL中的所有数据操作。 开启查询日志 MySQL默认情况下没有开启查询日志,如果需要开启查询日志,则需要在 my.cnf 文件或者 my.ini 文件的 [mysqld] 选项下进行配置。例如,…...

外包整整干了一年,废了。。。
先说一下自己的个人情况,大专生,18年通过校招进入湖南某软件公司,干了接近3年的功能测试,今年年初,感觉自己不能够在这样下去了,长时间呆在一个舒适的环境会让一个人堕落!而我已经在一个企业干了…...

内网渗透(五十六)之域控安全和跨域攻击-非约束委派攻击
系列文章第一章节之基础知识篇 内网渗透(一)之基础知识-内网渗透介绍和概述 内网渗透(二)之基础知识-工作组介绍 内网渗透(三)之基础知识-域环境的介绍和优点 内网渗透(四)之基础知识-搭建域环境 内网渗透(五)之基础知识-Active Directory活动目录介绍和使用 内网渗透(六)之基…...

初阶C语言——指针【详解】
文章目录1.指针是什么2.指针和指针类型2.1 指针的解引用2.2 指针 -整数3.野指针3.1 野指针成因3.2 如何规避野指针4. 指针运算4.1 指针-整数4.2 指针-指针4.3 指针的关系运算5. 指针和数组6. 二级指针7. 指针数组1.指针是什么 指针理解的2个要点: 指针是内存中一个最…...

MySQL tinyint(1) 、int(32) 与 varchar(255) 长度含义不同
MySQL tinyint(1) 、int(32) 与 varchar(255) 长度含义不同 发现 tinyint(1),int(32) 和 varchar(255) 这里面的数字的含义是不同的。 先说数字类型 tinyint 和 int 等 他们能存储的字节大小是与类型绑定的,即定义了 tinyint 或者 int 就确定了能存储…...

搜索旋转排序数组、路径总和 II、拆分数字
文章目录搜索旋转排序数组(数组、二分查找)路径总和 II(树、深度优先搜索)拆分数字(算法)搜索旋转排序数组(数组、二分查找) 整数数组 nums 按升序排列,数组中的值 互不…...

QT自绘标题和边框
在QT中如果想要自绘标题和边框,一般步骤是: 1) 在创建窗口前设置Qt::FramelessWindowHint标志,设置该标志后会创建一个无标题、无边框的窗口。 2)在客户区域的顶部创建一个自绘标题栏。 3)给窗口绘制一个背…...

数据库浅谈之 LLVM
数据库浅谈之 LLVM HELLO,各位博友好,我是阿呆 🙈🙈🙈 这里是数据库浅谈系列,收录在专栏 DATABASE 中 😜😜😜 本系列阿呆将记录一些数据库领域相关的知识 Ἴ…...

日语AI面试高效通关秘籍:专业解读与青柚面试智能助攻
在如今就业市场竞争日益激烈的背景下,越来越多的求职者将目光投向了日本及中日双语岗位。但是,一场日语面试往往让许多人感到步履维艰。你是否也曾因为面试官抛出的“刁钻问题”而心生畏惧?面对生疏的日语交流环境,即便提前恶补了…...

stm32G473的flash模式是单bank还是双bank?
今天突然有人stm32G473的flash模式是单bank还是双bank?由于时间太久,我真忘记了。搜搜发现,还真有人和我一样。见下面的链接:https://shequ.stmicroelectronics.cn/forum.php?modviewthread&tid644563 根据STM32G4系列参考手…...

智慧工地云平台源码,基于微服务架构+Java+Spring Cloud +UniApp +MySql
智慧工地管理云平台系统,智慧工地全套源码,java版智慧工地源码,支持PC端、大屏端、移动端。 智慧工地聚焦建筑行业的市场需求,提供“平台网络终端”的整体解决方案,提供劳务管理、视频管理、智能监测、绿色施工、安全管…...
【Linux】C语言执行shell指令
在C语言中执行Shell指令 在C语言中,有几种方法可以执行Shell指令: 1. 使用system()函数 这是最简单的方法,包含在stdlib.h头文件中: #include <stdlib.h>int main() {system("ls -l"); // 执行ls -l命令retu…...
Java如何权衡是使用无序的数组还是有序的数组
在 Java 中,选择有序数组还是无序数组取决于具体场景的性能需求与操作特点。以下是关键权衡因素及决策指南: ⚖️ 核心权衡维度 维度有序数组无序数组查询性能二分查找 O(log n) ✅线性扫描 O(n) ❌插入/删除需移位维护顺序 O(n) ❌直接操作尾部 O(1) ✅内存开销与无序数组相…...
STM32+rt-thread判断是否联网
一、根据NETDEV_FLAG_INTERNET_UP位判断 static bool is_conncected(void) {struct netdev *dev RT_NULL;dev netdev_get_first_by_flags(NETDEV_FLAG_INTERNET_UP);if (dev RT_NULL){printf("wait netdev internet up...");return false;}else{printf("loc…...

自然语言处理——Transformer
自然语言处理——Transformer 自注意力机制多头注意力机制Transformer 虽然循环神经网络可以对具有序列特性的数据非常有效,它能挖掘数据中的时序信息以及语义信息,但是它有一个很大的缺陷——很难并行化。 我们可以考虑用CNN来替代RNN,但是…...

JUC笔记(上)-复习 涉及死锁 volatile synchronized CAS 原子操作
一、上下文切换 即使单核CPU也可以进行多线程执行代码,CPU会给每个线程分配CPU时间片来实现这个机制。时间片非常短,所以CPU会不断地切换线程执行,从而让我们感觉多个线程是同时执行的。时间片一般是十几毫秒(ms)。通过时间片分配算法执行。…...

tree 树组件大数据卡顿问题优化
问题背景 项目中有用到树组件用来做文件目录,但是由于这个树组件的节点越来越多,导致页面在滚动这个树组件的时候浏览器就很容易卡死。这种问题基本上都是因为dom节点太多,导致的浏览器卡顿,这里很明显就需要用到虚拟列表的技术&…...
重启Eureka集群中的节点,对已经注册的服务有什么影响
先看答案,如果正确地操作,重启Eureka集群中的节点,对已经注册的服务影响非常小,甚至可以做到无感知。 但如果操作不当,可能会引发短暂的服务发现问题。 下面我们从Eureka的核心工作原理来详细分析这个问题。 Eureka的…...