【正则表达式】入门

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

相关推荐
大龄门外汉12 分钟前
CPP学习之list使用及模拟实现
windows·学习·list
超浪的晨20 分钟前
Java List 集合详解:从基础到实战,掌握 Java 列表操作全貌
java·开发语言·后端·学习·个人开发
超浪的晨25 分钟前
Java Set 集合详解:从基础语法到实战应用,彻底掌握去重与唯一性集合
java·开发语言·后端·学习·个人开发
香蕉可乐荷包蛋1 小时前
Python学习之路(十三)-常用函数的使用,及优化
开发语言·python·学习
许白掰1 小时前
Linux入门篇学习——借助 U 盘或 TF 卡拷贝程序到开发板上
linux·学习·借助 u 盘拷贝程序到开发板上·借助 tf卡拷贝程序到开发板上
iFulling13 小时前
【计算机网络】第四章:网络层(上)
学习·计算机网络
香蕉可乐荷包蛋13 小时前
AI算法之图像识别与分类
人工智能·学习·算法
xiaoli232713 小时前
课题学习笔记1——文本问答与信息抽取关键技术研究论文阅读(用于无结构化文本问答的文本生成技术)
笔记·学习
人生游戏牛马NPC1号13 小时前
学习 Flutter (四):玩安卓项目实战 - 中
android·学习·flutter
LGGGGGQ15 小时前
嵌入式学习-PyTorch(7)-day23
人工智能·pytorch·学习