正则表达式学习笔记(https://regex101.com/)(自己复习查阅用)
2021/7/26 23:10:18
本文主要是介绍正则表达式学习笔记(https://regex101.com/)(自己复习查阅用),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
- 前言
- 一、限定符
- 1、?(代表该字符可有可无)
- 2、*(匹配0~无数个)
- 3、+(匹配1~无数个)
- 4、{}(限定字符个数)
- 二、或运算
- 5、|(代表或)
- 三、字符类
- 6、[](代表由[]中这几个字符组成的字符串)
- 7、^(代表非)
- 四、元字符
- 8、\d(代表数字字符)
- 9、\w(代表单词字符(单词、数字以及下划线))
- 10、\s(代表空白符(包含tab(制表符)和换行符))
- 11、\D(代表非数字字符)
- 12、\W(非单词字符)
- 13、\S(非空白字符)
- 14、.(代表任意字符)
- 15、^匹配行首,$匹配行尾
- 五、贪婪与懒惰匹配
- 16、贪婪懒惰匹配
- 六、实例
- 17、匹配所有十六进制的颜色
- 18、IP地址的匹配
- 总结
前言
https://www.bilibili.com/video/BV1da4y1p7iZ?from=search&seid=13994679721566855219
B站齐乐编程学院视频学习笔记
提示:以下是本篇文章正文内容,下面案例可供参考
一、限定符
1、?(代表该字符可有可无)
?代表?前面的这一个字符可以有可无,例,图中的used?,代表d可有可有可无,可以从字符串中匹配到use和used两种
2、*(匹配0~无数个)
代表前面的这一个字符可以有0个或者多个,例图中的ab*c,可以用来匹配到ac或者a与c中任意多个b的字符串
3、+(匹配1~无数个)
+代表匹配+前面这一个字符出现一次以上的字符串,例图中的ab+c可以匹配到abc或者a与c中间存在一个以上的b的字符串
4、{}(限定字符个数)
{}用于限定{}前这一个字符出现的次数,例下图中ab{2,6}c可以匹配到a与c中间存在2到6个b的字符串,无法匹配到abc、ac或者a与c中间存在7个及以上的b的字符串
需要出现两次及以上
也可以直接固定b的出现次数,直接写ab{6}c,这样就只能匹配到abbbbbbc
二、或运算
5、|(代表或)
|代表或,例图中的a (cat|dog)可以匹配到a cat或者a dog,若不加括号,a cat|dog则会匹配a cat或者dog
三、字符类
6、[](代表由[]中这几个字符组成的字符串)
[]只匹配[]中有的字符,如下图[abc]+会匹配字符串中的a、b、c,存在一次以上的也会匹配到
a-z代表所有的小写字符,A-Z代表所有的大写字符
7、^(代表非)
[^0-9]+代表所有的非数字字符,包括换行符
四、元字符
8、\d(代表数字字符)
\d+相当于[0-9]+
9、\w(代表单词字符(单词、数字以及下划线))
10、\s(代表空白符(包含tab(制表符)和换行符))
11、\D(代表非数字字符)
12、\W(非单词字符)
13、\S(非空白字符)
14、.(代表任意字符)
.*就匹配任意字符出现0-无数次
15、^匹配行首,$匹配行尾
五、贪婪与懒惰匹配
16、贪婪懒惰匹配
.会匹配所有字符,.?会将默认的贪婪模式切换为懒惰模式
六、实例
17、匹配所有十六进制的颜色
#[a-fA-F0-9]{6}\b
十六进制的颜色必为#开头,十六进制为0-9加上a-f或者A-F,正好十六位,十六进制的颜色必为六位,所以使用{6}限定方括号中的字符只出现6个,而最后的\b用来代表单词字符的边界,若没有\b则会在#ffffffffff中匹配到#ffffff。
18、IP地址的匹配
\b((25[0-5]|(0|1)?\d\d?|2[0-4]\d\d).){3}(25[0-5]|(0|1)?\d\d?|2[0-4]\d\d)\b
因为ip区间为0.0.0.0255.255.255.255,所以若前两位为25则第三位只能在0-5之间,排除第一种情况,若第一位为2则第二位能在0-4之间,第三位为任意数据,则可以写为\d,若为0或者1开头则后面两位为任意数字,可以写作\d\d,还需考虑099,(0|1)可有可无,其中一个\d可有可无,写作(0|1)?\d\d?,使用.代表.,这样必须出现三次则限定为3,写作{3},还有最后一个,区间在0-255则复制前面括号中的这段,限定长度,分别在前后都加\b
总结
想要学习的小伙伴,可以去看看原视频,用于基础学习,word中进行匹配还是挺方便的。
这篇关于正则表达式学习笔记(https://regex101.com/)(自己复习查阅用)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-09flutter3.x_macos桌面os实战
- 2024-05-09Rust中的并发性:Sync 和 Send Traits
- 2024-05-08使用Ollama和OpenWebUI在CPU上玩转Meta Llama3-8B
- 2024-05-08完工标准(DoD)与验收条件(AC)究竟有什么不同?
- 2024-05-084万 star 的 NocoDB 在 sealos 上一键起,轻松把数据库编程智能表格
- 2024-05-08Mac 版Stable Diffusion WebUI的安装
- 2024-05-08解锁CodeGeeX智能问答中3项独有的隐藏技能
- 2024-05-08RAG算法优化+新增代码仓库支持,CodeGeeX的@repo功能效果提升
- 2024-05-08代码报错不用愁,CodeGeeX一键完成代码修复、错误解释的功能上线了!
- 2024-05-08今天开始程序员不用再发愁写commit message了,全部由CodeGeeX自动完成!