【正则表达式】入门

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

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

示例:

限定符

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

比如这里输入:de?

匹配结果可以得到d和de

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

这里输入:com*

得到comm,co

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

这里输入:com+

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

{} 指定出现次数范围

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

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

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

限定多个字符

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

| 运算符

字符类

\[\]内放字符,代表搜索的字符只能包含这几个字符

还可以扩大到范围。

前面加上^代表除了这块字符

元字符

\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 小时前
学习:javaScriptProxy和registerJavaScriptProxy有什么区别,能注册多少个对象
学习·鸿蒙
Huathy-雨落江南,浮生若梦2 小时前
Caddy 学习笔记 - 反向代理与 IP 封禁
笔记·学习·tcp/ip
m4Rk_4 小时前
【论文阅读】Agent 记忆机制(57):MemSearch-o1——从查询词元生长证据,重组 Deep Search 记忆路径
论文阅读·人工智能·学习·开源·github
闭月之泪舞5 小时前
C++编程学习
c++·学习
网安蟹佬霸6 小时前
2026网络安全每日学习计划:每天学多久?学什么?怎么安排?照着做就行!
网络·学习·安全·web安全·学习路线·网安
一条破秋裤6 小时前
TIM 输入捕获与 PWMI:从边沿到频率、占空比
笔记·stm32·学习
2601_949950637 小时前
考研英语资料太散?用小程序把真题、词汇和错题放到一起
人工智能·学习·考研·小程序·刷题·小程序推荐
熊猫钓鱼>_>7 小时前
鸿蒙AI Agent新范式:从“对话式辅助”到“工程化代理”的Harness架构实战解析
人工智能·笔记·学习·华为·架构·harmonyos
2501_919749037 小时前
华为鸿蒙管理学习生活与工作APP—小羊管理
学习·华为·生活·harmonyos·鸿蒙
一条破秋裤8 小时前
STM32 学习笔记:PWM 输出比较原理与计算
笔记·stm32·学习