【正则表达式】入门

参考视频: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

相关推荐
时光慢煮6 分钟前
构建跨端驾照学习助手:Flutter × OpenHarmony 的用户信息与驾照状态卡片实现
学习·flutter·开源·openharmony
鹤归时起雾.11 分钟前
react一阶段学习
前端·学习·react.js
AI视觉网奇13 分钟前
MetaHuman 常用脸部曲线
学习·ue5
Gain_chance32 分钟前
25-学习笔记尚硅谷数仓搭建-DIM层其余(优惠卷、活动、地区、营销坑位、营销渠道、日期)维度表建表语句、简单分析
数据仓库·笔记·学习
深蓝海拓42 分钟前
海康 MV 相机几种Bayer RG像素格式的处理
笔记·python·qt·学习·pyqt
点点开心43 分钟前
攻防世界WEB(新手模式)2-5-web2
前端·学习·安全·web安全·网络安全
不吃橘子的橘猫43 分钟前
Verilog HDL基础(概念+模块)
开发语言·学习·算法·fpga开发·verilog
wdfk_prog1 小时前
[Linux]学习笔记系列 -- [drivers][dma]dma-buf
linux·笔记·学习
晚霞的不甘1 小时前
Flutter for OpenHarmony《智慧字典》英语学习模块代码深度解析:从数据模型到交互体验
前端·学习·flutter·搜索引擎·前端框架·交互
LYS_06181 小时前
寒假学习(9)(C语言9+模数电9)
c语言·开发语言·学习