【正则表达式】入门

参考视频:10分钟快速掌握正则表达式_哔哩哔哩_bilibili

这个网站用来测试写的正则表达式效果:regex101: build, test, and debug regex

示例:

限定符

? 表示前一个字符可有可无

比如这里输入:de?

匹配结果可以得到d和de

* 前一个字符出现0到无穷次

这里输入:com*

得到comm,co

+ 前一个字符出现一次以上

这里输入:com+

得到comm,相比上一个示例*少了结果co

{} 指定出现次数范围

写单个数字指定前一个字符出现几次

逗号隔开两个数字,表示范围

还可以省略一个数字,如:

限定多个字符

给字符串加个括号当作一个字符即可。

| 运算符

字符类

\]内放字符,代表搜索的字符只能包含这几个字符 ![](https://img-blog.csdnimg.cn/direct/79f49eeb997740fbbe9a18980555258d.png)还可以扩大到范围。![](https://img-blog.csdnimg.cn/direct/3fd918fb16404fad8987edfc87ef4860.png) 前面加上\^代表除了这块字符 ![](https://img-blog.csdnimg.cn/direct/3ba157f42a40424997ca4dc02a9db1e2.png) ## 元字符 \\d代表数字字符,等于\[0-9

\w代表包括下划线的数字和任何单词字符

\s代表空白字符

\D代表非数字字符

\W代表非单词字符

\S代表非空白字符

.代表任意字符,但不包含换行符

^匹配行首,$匹配行尾,

贪婪与懒惰匹配

这里我们写入<.+>会贪心匹配到所有字符

但是我们只想要得到<>里的内容以便处理数据时删去,要怎么办呢?

加上问好即可把贪婪匹配转化为懒惰匹配,<.+?>

从原来尽可能多的匹配,到尽可能少的匹配。

实例

查找RGB

RGB是#开头的6位十六进制表达式

#[a-fA-F0-9]{6}

匹配#,十六进制,花括号指定位数

但是这里#fffffffff也被统计进去了,加上\b表示字符末尾的边界。#[a-fA-F0-9]{6}\b

相关推荐
西岸行者1 天前
学习笔记:SKILLS 能帮助更好的vibe coding
笔记·学习
悠哉悠哉愿意1 天前
【单片机学习笔记】串口、超声波、NE555的同时使用
笔记·单片机·学习
别催小唐敲代码1 天前
嵌入式学习路线
学习
毛小茛1 天前
计算机系统概论——校验码
学习
babe小鑫1 天前
大专经济信息管理专业学习数据分析的必要性
学习·数据挖掘·数据分析
winfreedoms1 天前
ROS2知识大白话
笔记·学习·ros2
在这habit之下1 天前
Linux Virtual Server(LVS)学习总结
linux·学习·lvs
我想我不够好。1 天前
2026.2.25监控学习
学习
im_AMBER1 天前
Leetcode 127 删除有序数组中的重复项 | 删除有序数组中的重复项 II
数据结构·学习·算法·leetcode
CodeJourney_J1 天前
从“Hello World“ 开始 C++
c语言·c++·学习