摘要:

Notepad++正则表达式符号大全包含11类常用语法:基础符号(.^$+?等)、预定义字符类(\d\w\s等)、锚点(\b\B)、量词({n,m})、分组引用(()$1)、字符集合([])、转义字符(.)、断言((?=))、换行符(\n\r)、非贪婪模式(?+?)和特殊标记((?i))。每个符号均配有功能说明和示例,如^匹配行首、\d匹配数字、.*?最短匹配等。特别说明Notepad++行模式特点,替换用$1引用分组,断言零宽度等特性。文档按逻辑分区排版,全面覆盖从基础到高级的正则用法,适合快速查询和深入

下面是Notepad++ 正则表达式符号说明(全量整理版)已整合逻辑与表达,并保持分区排版清晰、内容全面且每项带详细示例:


Notepad++ 正则表达式符号与用法大全

一、基础符号(最常用)

符号含义/功能示例说明/结果
.匹配除换行外任意单个字符a.c匹配abcaxca_c
^匹配行首^abc匹配以abc开头的行
$匹配行尾abc$匹配以abc结尾的行
*前一项重复0次或多次ab*c匹配acabcabbcabbbc
+前一项重复1次或多次ab+c匹配abcabbcabbbc,不匹配ac
?前一项重复0次或1次ab?c匹配acabc
{n}前一项重复n次a{3}匹配aaa
{n,}前一项至少重复n次a{2,}匹配aaaaaaaaa
{n,m}前一项重复n到m次a{2,4}匹配aaaaaaaaa,不匹配aaaaaa
``逻辑或,匹配左边或右边内容`cat
()分组(abc)+匹配abcabcabc
[]匹配括号内任一字符[aeiou]匹配任一元音字母
[^]匹配不在括号内的任一字符[^0-9]匹配非数字字符
\转义特殊字符或引出特殊含义\.匹配.本身

例外用法:

  • [-] 表示“-”本身,如 [a\-z] 仅匹配a-z(不代表区间)。


二、预定义字符类(常用速查)

符号含义/功能示例说明/结果
\d匹配任一数字(等价于[0-9]\d+匹配数字串,如12345
\D匹配非数字(等价于[^0-9]\D+匹配非数字,如abc
\w匹配字母/数字/下划线(等价于[A-Za-z0-9_]\w+匹配单词、变量名,如word_123
\W匹配非字母/数字/下划线\W+匹配标点或空格
\s匹配空白字符(空格、Tab、换行等)\s+匹配空格、Tab等
\S匹配非空白字符\S+匹配非空格内容

例外用法:

  • [\d\s] 同时匹配数字和空白字符。


三、锚点(定位)

符号含义/功能示例说明/结果
^行首^Hello匹配以Hello开头的行
$行尾end$匹配以end结尾的行
\b单词边界\bcat\b匹配独立单词cat
\B非单词边界\Bcat\B匹配如bobcat里的cat

例外用法:

  • ^\s*$ 匹配仅含空白的整行。


四、量词(重复控制)

符号含义/功能示例说明/结果
*0次或多次(贪婪)a*匹配""aaaaaa
*?0次或多次(非贪婪)a*?尽可能少匹配a
+1次或多次(贪婪)a+匹配aaaaaa
+?1次或多次(非贪婪)a+?尽可能少匹配a
?0次或1次a?匹配""a
??0次或1次(非贪婪)a??最少匹配
{n}恰好n次a{3}匹配aaa
{n,}至少n次a{2,}匹配aaaaaaaaa...
{n,m}n到m次a{2,4}匹配aaaaaaaaa,不匹配aaaaaa


五、分组与引用

符号含义/功能示例说明/结果
()分组(abc)+匹配abcabcabc
(?: )非捕获分组(?:abc)+匹配abcabcabc,不捕获内容
\1, \2引用第1、2...个分组内容(在替换时)(\w+) \1匹配如abc abc,\1为第1组内容
$1, $2替换时引用分组内容(仅替换用)查找(cat), 替换为$1scat替换成cats
$0替换时代表整段匹配内容查找.*, 替换->$0<-整行加前后缀

例外用法:

  • ((a)(b))$1=ab, $2=a, $3=b


六、字符集合

符号含义/功能示例说明/结果
[abc]匹配a或b或c中的一个字符[abc]匹配abc
[^abc]匹配非a、b、c的单字符[^abc]匹配除abc外的字符
[a-z]匹配a到z之间任一小写字母[a-z]匹配ab...z
[A-Z]匹配A到Z之间任一大写字母[A-Z]匹配AB...Z
[0-9]匹配任一数字[0-9]匹配0-9
[a-zA-Z0-9]匹配大小写字母和数字[a-zA-Z0-9]匹配任何字母或数字
[]空集合,匹配不到任何内容[]不会有结果

例外用法:

  • [-abc][-]放最前面表示“-”本身。


七、转义与特殊字符

符号含义/功能示例说明/结果
\.匹配点号.本身a\.b匹配a.b
\\匹配反斜杠\本身\\d匹配\d文本
\*匹配星号*本身a\*b匹配a*b
\( \)匹配小括号\([0-9]+\)匹配带括号的数字如(123)
\[ \]匹配方括号\[[a-z]+\]匹配如[abc]
|匹配竖线``本身a|b


八、断言与逻辑运算(高级,“与”、“或”)

写法/符号逻辑示例表达式说明/结果
``逻辑或`apple
(?=exp1)(?=exp2)逻辑与^(?=.*apple)(?=.*banana).*同时包含apple和banana,顺序无关
(?=exp)正向先行断言foo(?=bar)匹配foobar中的foo,后跟bar
(?!exp)否定先行断言foo(?!bar)匹配foo后面不是bar的位置
(?<=exp)正向后行断言(?<=@)\w+匹配邮箱@后面的用户名(Notepad++ 8.3+支持)
(?<!exp)否定后行断言(?<!@)\w+匹配不是@后面的单词(Notepad++ 8.3+支持)

逻辑与例外补充:

  • 多个条件用多个(?=...)叠加,如 ^(?=.*cat)(?=.*dog).* 表示一行同时有cat和dog。


九、换行与制表符

符号含义/功能示例说明/结果
\n换行符(LF,Unix)abc\ndef匹配跨行内容
\r回车符(CR,Win)\r\nWindows文本换行
\t制表符Taba\tb匹配a后跟Tab再跟b


十、非贪婪模式

符号含义/功能示例说明/结果
*?非贪婪0次或多次".*?"匹配最短一对引号内的内容
+?非贪婪1次或多次<.+?>匹配最短的HTML标签
??非贪婪0或1次ab??尽量不匹配b


十一、其它

符号含义/功能示例说明/结果
(?i)匹配时忽略大小写(置于表达式前)(?i)abc匹配abcABC
(?#...)注释,不参与匹配(?#note)正则中的说明


实用组合示例

  • 一行同时包含 apple 和 banana(无顺序要求)
    查找:^(?=.*apple)(?=.*banana).*

  • 行首是数字且有字母
    查找:^(?=\d)(?=.*[a-zA-Z]).*

  • 替换所有行首数字为#加数字
    查找:^(\d+) 替换:#$1

  • 提取邮箱用户名
    查找:^(\w+)@(\w+\.\w+)$ 替换:$1

  • 最短匹配HTML标签
    查找:<[^>]+?>


补充说明

  • Notepad++ 默认正则“行”模式,点.不匹配换行,可勾选“点匹配换行”。

  • 替换时分组用 $1,查找里引用分组用 \1

  • 断言是零宽度判断,不消耗字符。

  • 部分高阶特性(如命名分组等)Notepad++ 暂不支持。

参考官方说明:

  • Notepad++ 用户手册:正则表达式支持说明

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

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

相关文章

前后端分离(java) 和 Nginx在服务器上的完整部署方案(redis、minio)

一、准备工作 服务器环境要求 银河麒麟 V10 操作系统 开放端口&#xff1a;MinIO (9000、9001)、 Redis (6379)、应用服务 jar包(18888)、前端服务(8080) 系统用户&#xff1a;具有 sudo 权限的用户 操作&#xff1a;需要先有必备的工具前端的vsCode,webStrom、后台的idea&…

贪心算法:简单而高效的求解策略C++

贪心算法详解及C实现 1. 什么是贪心算法 贪心算法&#xff08;Greedy Algorithm&#xff09;是一种在每一步选择中都采取在当前状态下最好或最优&#xff08;即最有利&#xff09;的选择&#xff0c;从而希望导致结果是全局最好或最优的算法策略。 贪心算法与动态规划不同在于它…

IDEA 中使用 <jsp:useBean>动作指令时,class属性引用无效

问题&#xff1a;在 IDEA 中创建 Java Web项目&#xff0c;在src/model包下存在一个Student类该类中包含&#xff1a;全参构造器、私有属性的get/set方法。然后在 jsp 页面中使用 <jsp:useBean>创建Student类的对象&#xff1a;访问页面时报错&#xff1a;原因&#xff1…

【网络】Linux 内核优化实战 - net.core.flow_limit_table_len

目录参数作用查看与修改调优建议相关警告net.core.flow_limit_table_len 是 Linux 内核中的一个网络参数&#xff0c;用于控制**流限制表&#xff08;Flow Limit Table&#xff09;**的大小。这个表主要用于限制网络流量中单个"流"&#xff08;通常指来自同一源IP、端…

前端开发常见问题技术文章大纲

前端开发常见问题技术文章大纲 常见性能优化问题 页面加载速度慢的原因及解决方案渲染阻塞资源的优化方法内存泄漏的检测与修复 跨浏览器兼容性问题 不同浏览器对CSS和JavaScript的支持差异Polyfill和Shim的使用场景如何利用工具检测兼容性问题 响应式设计挑战 媒体查询的最佳实…

Redis常见性能问题和解决方案有哪些?

Redis 作为高性能的内存数据库&#xff0c;在实际使用中可能会遇到性能问题。以下是常见的性能问题及其解决方案&#xff0c;用中文总结如下&#xff1a; 1. 高延迟问题 问题描述&#xff1a;客户端请求响应时间过长&#xff0c;可能由于网络、命令复杂度或服务器负载导致。 解…

闪测仪应用案例丨手机中框如何突破「尺寸检测」瓶颈?

越来越多的手机中框&#xff0c;正改为更复杂的镂空设计&#xff0c;这种设计不仅保持了手机中框的结构强度&#xff0c;还进一步减轻了机身重量&#xff0c;同时提升了散热性能。这让手机中框的自动化生产增加了很多难点&#xff0c;其中的尺寸检测就遇到了许多瓶颈。▪ 尺寸精…

【字节跳动】数据挖掘面试题0011:介绍下时间序列分析常用知识点

文章大纲时间序列分析全面解析一、时间序列分析的基本概念二、时间序列分析的主要方法1. 描述性分析2.统计分析方法3.预测模型&#xff08;1&#xff09;传统统计模型&#xff08;2&#xff09;现代机器学习模型三、时间序列分析的应用场景四、模型评估五、在字节跳动的应用场景…

ubuntu中交叉编译iperf3到目标平台xilinx

注&#xff1a;此文为ubuntu x86系统编译程序到xilinx aarch64系统中。 一、工具准备 x86上编译aarch64的编译器 sudo apt install gcc-aarch64-linux-gnu g-aarch64-linux-gnu #保证编译器在环境变量中&#xff0c;尝试执行aarch64-linux-gnu-gcc 目标平台的根文件系统rootf…

Java-数据结构-集合框架

什么是集合框架集合本质是java所实现的一组数据结构&#xff0c;提供了不同的增删改查方法。集合就是定义了接口&#xff0c;再通过不同的类去实现定义的接口&#xff0c;这些实现了接口的类就是集合类&#xff0c;例如list&#xff0c;stack&#xff0c;map。集合框架的重要性…

黑马点评系列问题之基础篇16jedis redis依赖引入后仍然还是报错

问题描述依赖已经导入进去了&#xff0c;在仓库里有***.jar和***.pom这两个文件&#xff0c;但是点开右面的maven还是有很多爆红。点击maven里的更新还是不行。解决点到配置文件pom.xml在lombok这个依赖的代码下面&#xff0c;添加上版本号&#xff0c;刷新一下右键单击pom.xml…

SQL 一键转 GORM 模型,支持字段注释、类型映射、tag 自定义!

SQL 一键转 GORM 模型&#xff0c;支持字段注释、类型映射、tag 自定义&#xff01; 在使用 Golang GORM 开发项目时&#xff0c;你是否也经历过这些「重复性痛苦」&#xff1a; ✅ 拿到建表 SQL&#xff0c;要手动写 struct✅ 字段多、类型复杂&#xff0c;还要写 json、go…

前端计算机视觉:使用 OpenCV.js 在浏览器中实现图像处理

一、OpenCV.js 简介与环境搭建OpenCV&#xff08;Open Source Computer Vision Library&#xff09;是一个强大的计算机视觉库&#xff0c;广泛应用于图像和视频处理领域。传统上&#xff0c;OpenCV 主要在后端使用 Python 或 C 等语言。但随着 WebAssembly (Wasm) 技术的发展&…

开发在线商店:基于Vue2+ElementUI的电商平台前端实践

Hi&#xff0c;我是布兰妮甜 &#xff01;在当今数字化时代&#xff0c;电子商务已成为商业领域的重要组成部分。开发一个功能完善、用户友好的在线商店应用对于企业拓展市场至关重要。本文将详细介绍如何使用Vue2框架配合ElementUI组件库开发一个完整的在线商店应用。 文章目录…

vue3 随手笔记9--组件通信方式9/2--自定义事件

一、什么是自定义事件&#xff1f; 自定义事件是 Vue 组件间通信的一种机制。子组件通过 this.$emit(事件名, 数据) 触发一个事件。父组件监听这个事件并执行相应的逻辑。 二、基本使用 准备工作 demo 继续使用笔记8中的 链接为demo 在views文件夹下 创建新的文件夹为cust…

深入理解Reactor调试模式:Hooks.onOperatorDebug() vs ReactorDebugAgent.init()

在现代Java开发中&#xff0c;调试Reactor流是确保应用程序性能和稳定性的关键步骤。Reactor调试模式提供了多种初始化方法&#xff0c;其中最常用的两种是Hooks.onOperatorDebug()和ReactorDebugAgent.init()。本文将深入探讨这两种方法的区别&#xff0c;帮助开发者选择最适合…

QT6 源(151)模型视图架构里的表格窗体视图 QTableWidget 篇一:先学习俩属性以及 public 权限的公共成员函数,

&#xff08;1&#xff09;本篇的内容因为是子类&#xff0c;内容较视图基类简单了一些。又因为时间紧迫&#xff0c;不再详细举例了。详细的测试可以满足好奇心&#xff0c;也可以增强写代码的自信心。奈何时间不够。不完美&#xff0c;就不完美了。以后有机会&#xff0c;再补…

ffmpeg 下载、安装、配置、基本语法、避坑指南(覆盖 Windows、macOS、Linux 平台)

ffmpeg 下载、安装、配置、基本语法、避坑指南&#xff08;覆盖 Windows、macOS、Linux 平台&#xff09; 本文是一篇面向初学者的超详细 FFmpeg 教程&#xff0c;包括 FFmpeg 下载、安装、配置、基本语法 与 避坑指南。覆盖 Windows、macOS、Linux 平台的安装方式与 环境变量…

Kotlin 安装使用教程

一、Kotlin 简介 Kotlin 是 JetBrains 开发的一种现代、静态类型的编程语言&#xff0c;完全兼容 Java&#xff0c;主要应用于 Android 开发、后端服务开发、前端 Web 开发&#xff08;Kotlin/JS&#xff09;和多平台开发&#xff08;Kotlin Multiplatform&#xff09;。 二、…

day08-Elasticsearch

黑马商城作为一个电商项目&#xff0c;商品的搜索肯定是访问频率最高的页面之一。目前搜索功能是基于数据库的模糊搜索来实现的&#xff0c;存在很多问题。 首先&#xff0c;查询效率较低。 由于数据库模糊查询不走索引&#xff0c;在数据量较大的时候&#xff0c;查询性能很…