和小白一起学正则表达式

文章目录

      • 一、限定符
        • 1.?
        • 2.*
        • 3.+
        • 4.{}
      • 二、或运算符
      • 三、字符类
        • 1.[]
        • 2.常见字符类
        • 3.^
      • 四、元字符
      • 五、贪婪与懒惰匹配
      • 六、实例
        • 1.RGB颜色匹配
        • 2.IPV4地址匹配

在线测试工具: https://regex101.com/

一、限定符

1.?

会去匹配0个或1个字符,表示 前面的字符可有可无。

和小白一起学正则表达式_第1张图片

2.*

* 会去匹配0个或多个字符,表示 * 前面的字符可以出现0次也可以出现多次。

和小白一起学正则表达式_第2张图片

3.+

+ 会去匹配1次以上的字符,表示 + 前面的字符出现1次及以上。

和小白一起学正则表达式_第3张图片

4.{}

{} 可以指定字符出现的次数,表示 {} 前面的字符出现几次。

和小白一起学正则表达式_第4张图片

{} 也可以指定字符出现的次数范围,中间用 隔开。

和小白一起学正则表达式_第5张图片

下面表示出现的次数是2次及以上。

和小白一起学正则表达式_第6张图片

下面表示出现的次数是6次及以下。

和小白一起学正则表达式_第7张图片

() 匹配多个字符。

和小白一起学正则表达式_第8张图片

二、或运算符

| 表示或者,在下面的例子中先去匹配a和空格,再去匹配后面的cat或者dog,如果不加括号就只能匹配出来dog了。

和小白一起学正则表达式_第9张图片

和小白一起学正则表达式_第10张图片

三、字符类

1.[]

[] 表示匹配的字符只能取自它们。

和小白一起学正则表达式_第11张图片

2.常见字符类

[a-z]:所有的小写英文字符。

和小白一起学正则表达式_第12张图片

[a-zA-Z]:所有的英文字符。

和小白一起学正则表达式_第13张图片

[a-zA-Z0-9]:所有的英文字符和数字。

和小白一起学正则表达式_第14张图片

3.^

^ 表示脱字符,匹配 ^ 后面列出的以外的字符。

和小白一起学正则表达式_第15张图片

四、元字符

\d 数字字符(0-9)
\w 单词字符(英文+数字+下划线)
\s 空白字符(tab+换行符)
\D 非数字字符
\W 非单词字符
\S 非空白字符
\b 标注字符边界
.  任意字符(除换行符)
^  匹配行首
$  匹配行尾

和小白一起学正则表达式_第16张图片

和小白一起学正则表达式_第17张图片

和小白一起学正则表达式_第18张图片

五、贪婪与懒惰匹配

贪婪匹配:尽可能多的匹配字符。

和小白一起学正则表达式_第19张图片

懒惰匹配:尽可能少的匹配字符。

和小白一起学正则表达式_第20张图片

六、实例

1.RGB颜色匹配

和小白一起学正则表达式_第21张图片

2.IPV4地址匹配

和小白一起学正则表达式_第22张图片

你可能感兴趣的:(#,课外知识学习,正则表达式,python,编译原理)