学习笔记-正则表达式

https://www.runoob.com/regexp/regexp-tutorial.html

正则表达式re(Regular Expression)是一种文本模式,包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为"元字符"),可以用来描述和匹配字符串的特定模式。

个人理解,re是对字符序列进行建模,建立多对一映射,能够覆盖所有字符序列,且没有歧义,形成一种语法协议。

正则表达式的模式:

c 复制代码
字面值字符:例如字母、数字、空格等,可以直接匹配它们自身。
特殊字符:例如点号 .、星号 *、加号 +、问号 ? 等,它们具有特殊的含义和功能。
字符类:用方括号 [ ] 包围的字符集合,用于匹配方括号内的任意一个字符。
元字符:例如 \d、\w、\s 等,用于匹配特定类型的字符,如数字、字母、空白字符等。
量词:例如 {n}、{n,}、{n,m} 等,用于指定匹配的次数或范围。
边界符号:例如 ^、$、\b、\B 等,用于匹配字符串的开头、结尾或单词边界位置。

语法可视化web工具:https://c.runoob.com/front-end/7625/#!flags=\&re=^(a|b)\*%3F%24

简化的语法列表:

c 复制代码
. - 除换行符以外的所有字符。
^ - 字符串开头。
$ - 字符串结尾。
\d,\w,\s - 匹配数字、字符、空格。
\D,\W,\S - 匹配非数字、非字符、非空格。
[abc] - 匹配 a、b 或 c 中的一个字母。
[a-z] - 匹配 a 到 z 中的一个字母。
[^abc] - 匹配除了 a、b 或 c 中的其他字母。
aa|bb - 匹配 aa 或 bb。
? - 0 次或 1 次匹配。
* - 匹配 0 次或多次。
+ - 匹配 1 次或多次。
{n} - 匹配 n次。
{n,} - 匹配 n次以上。
{m,n} - 最少 m 次,最多 n 次匹配。
(expr) - 捕获 expr 子模式,以 \1 使用它。
(?:expr) - 忽略捕获的子模式。
(?=expr) - 正向预查模式 expr。
(?!expr) - 负向预查模式 expr。
相关推荐
kyrie_sakura4 分钟前
python学习笔记15 -- Anaconda,Jupyter,numpy
python·学习·jupyter·numpy
PC2005-cloud2 小时前
Rust学习笔记:控制流——if、loop、while、for与match
笔记·学习·rust
彧azz2 小时前
DFS与BFS:图遍历的两大核心算法
数据结构·学习·算法·深度优先·广度优先
IT笔记3 小时前
Rust 迭代器多级链式调用执行顺序笔记
开发语言·笔记·rust
kyrie_sakura3 小时前
python学习笔记14 -- FastAPI
笔记·python·学习·fastapi
来两个炸鸡腿3 小时前
【Datawhale2609】算子开发实战 task01-熟悉沐曦GPU
人工智能·学习·大模型
传奇开心果编程4 小时前
【Xilem 0.4 基础语法学与练】第11课(深入篇):为什么其他 Rust 框架不是一切皆设计图
学习·rust·前端框架
爱吃苹果的日记本4 小时前
JAVA十三(练习课)
java·学习
平凡シンプル4 小时前
TCP UDP 网络通信插件 SL-Uniplugin-Tcp-Udp
网络·学习·uniapp·记录
RisunJan5 小时前
【地球脉动】地球日报 · 2026-09-14(过去24小时,非头条视角)
学习