提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
前言
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中进行匹配还是挺方便的。