正则表达式学习笔记(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两种
正则表达式学习笔记(https://regex101.com/)(自己复习查阅用)_第1张图片

2、*(匹配0~无数个)

代表前面的这一个字符可以有0个或者多个,例图中的ab*c,可以用来匹配到ac或者a与c中任意多个b的字符串
正则表达式学习笔记(https://regex101.com/)(自己复习查阅用)_第2张图片

3、+(匹配1~无数个)

+代表匹配+前面这一个字符出现一次以上的字符串,例图中的ab+c可以匹配到abc或者a与c中间存在一个以上的b的字符串
正则表达式学习笔记(https://regex101.com/)(自己复习查阅用)_第3张图片

4、{}(限定字符个数)

{}用于限定{}前这一个字符出现的次数,例下图中ab{2,6}c可以匹配到a与c中间存在2到6个b的字符串,无法匹配到abc、ac或者a与c中间存在7个及以上的b的字符串
正则表达式学习笔记(https://regex101.com/)(自己复习查阅用)_第4张图片需要出现两次及以上
正则表达式学习笔记(https://regex101.com/)(自己复习查阅用)_第5张图片也可以直接固定b的出现次数,直接写ab{6}c,这样就只能匹配到abbbbbbc

二、或运算

5、|(代表或)

|代表或,例图中的a (cat|dog)可以匹配到a cat或者a dog,若不加括号,a cat|dog则会匹配a cat或者dog
正则表达式学习笔记(https://regex101.com/)(自己复习查阅用)_第6张图片正则表达式学习笔记(https://regex101.com/)(自己复习查阅用)_第7张图片

三、字符类

6、[](代表由[]中这几个字符组成的字符串)

[]只匹配[]中有的字符,如下图[abc]+会匹配字符串中的a、b、c,存在一次以上的也会匹配到
正则表达式学习笔记(https://regex101.com/)(自己复习查阅用)_第8张图片正则表达式学习笔记(https://regex101.com/)(自己复习查阅用)_第9张图片正则表达式学习笔记(https://regex101.com/)(自己复习查阅用)_第10张图片a-z代表所有的小写字符,A-Z代表所有的大写字符

正则表达式学习笔记(https://regex101.com/)(自己复习查阅用)_第11张图片正则表达式学习笔记(https://regex101.com/)(自己复习查阅用)_第12张图片

7、^(代表非)

[^0-9]+代表所有的非数字字符,包括换行符
正则表达式学习笔记(https://regex101.com/)(自己复习查阅用)_第13张图片

四、元字符

8、\d(代表数字字符)

\d+相当于[0-9]+
正则表达式学习笔记(https://regex101.com/)(自己复习查阅用)_第14张图片

9、\w(代表单词字符(单词、数字以及下划线))

正则表达式学习笔记(https://regex101.com/)(自己复习查阅用)_第15张图片

10、\s(代表空白符(包含tab(制表符)和换行符))

正则表达式学习笔记(https://regex101.com/)(自己复习查阅用)_第16张图片

11、\D(代表非数字字符)

正则表达式学习笔记(https://regex101.com/)(自己复习查阅用)_第17张图片

12、\W(非单词字符)

正则表达式学习笔记(https://regex101.com/)(自己复习查阅用)_第18张图片

13、\S(非空白字符)

正则表达式学习笔记(https://regex101.com/)(自己复习查阅用)_第19张图片

14、.(代表任意字符)

.*就匹配任意字符出现0-无数次
正则表达式学习笔记(https://regex101.com/)(自己复习查阅用)_第20张图片

15、^匹配行首,$匹配行尾

正则表达式学习笔记(https://regex101.com/)(自己复习查阅用)_第21张图片正则表达式学习笔记(https://regex101.com/)(自己复习查阅用)_第22张图片
正则表达式学习笔记(https://regex101.com/)(自己复习查阅用)_第23张图片

五、贪婪与懒惰匹配

16、贪婪懒惰匹配

.会匹配所有字符,.?会将默认的贪婪模式切换为懒惰模式
正则表达式学习笔记(https://regex101.com/)(自己复习查阅用)_第24张图片正则表达式学习笔记(https://regex101.com/)(自己复习查阅用)_第25张图片

六、实例

17、匹配所有十六进制的颜色

正则表达式学习笔记(https://regex101.com/)(自己复习查阅用)_第26张图片正则表达式学习笔记(https://regex101.com/)(自己复习查阅用)_第27张图片正则表达式学习笔记(https://regex101.com/)(自己复习查阅用)_第28张图片#[a-fA-F0-9]{6}\b
十六进制的颜色必为#开头,十六进制为0-9加上a-f或者A-F,正好十六位,十六进制的颜色必为六位,所以使用{6}限定方括号中的字符只出现6个,而最后的\b用来代表单词字符的边界,若没有\b则会在#ffffffffff中匹配到#ffffff。
正则表达式学习笔记(https://regex101.com/)(自己复习查阅用)_第29张图片

18、IP地址的匹配

正则表达式学习笔记(https://regex101.com/)(自己复习查阅用)_第30张图片正则表达式学习笔记(https://regex101.com/)(自己复习查阅用)_第31张图片正则表达式学习笔记(https://regex101.com/)(自己复习查阅用)_第32张图片正则表达式学习笔记(https://regex101.com/)(自己复习查阅用)_第33张图片\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

正则表达式学习笔记(https://regex101.com/)(自己复习查阅用)_第34张图片正则表达式学习笔记(https://regex101.com/)(自己复习查阅用)_第35张图片正则表达式学习笔记(https://regex101.com/)(自己复习查阅用)_第36张图片

总结

想要学习的小伙伴,可以去看看原视频,用于基础学习,word中进行匹配还是挺方便的。

你可能感兴趣的:(正则表达式,正则表达式)