一、简介
定义:使用单个字符串来描述和匹配某个语句规则。
用法:常被用来检索和替换符合某个模式的文本。
![](https://i-blog.csdnimg.cn/blog_migrate/4580afbd13d68b8303de215b7b91f5ab.png)
二、re库的简介和使用
1.常用函数
![](https://i-blog.csdnimg.cn/blog_migrate/bf131d788012caaf812b1dc39185e3a8.png)
2.正则表达式的使用
![](https://i-blog.csdnimg.cn/blog_migrate/462359510da9343ad5a0c03d7f1d38cb.png)
例:
![](https://i-blog.csdnimg.cn/blog_migrate/34b9a3d3dd193c538e85532a2b8096cc.png)
编译后的模式能够重复使用,能够提高效率
![](https://i-blog.csdnimg.cn/blog_migrate/697eb4d88dda95f5d2b35a4a39bfa37f.png)
3.正则表达式中常用的描述性字符的含义
![](https://i-blog.csdnimg.cn/blog_migrate/bddc9bfea8ed83b660d9a965d34854b4.png)
匹配规则如下:
普通字符和11个元字符:
![](https://i-blog.csdnimg.cn/blog_migrate/ed24bcbd2d53b1810615cbc242234bc5.png)
![](https://i-blog.csdnimg.cn/blog_migrate/15ca016c03da1a711a2aa1e8a402e7ef.png)
预定字符集:
![](https://i-blog.csdnimg.cn/blog_migrate/4e7ffa94416578f9c1c05f87868a60be.png)
4.最常用的一些字符
描述一个字符
![](https://i-blog.csdnimg.cn/blog_migrate/0e78a5dfcaa539a7067bb6f64eab3625.png)
描述字符集
![](https://i-blog.csdnimg.cn/blog_migrate/0df28dc94338caee78ac706052f80e73.png)
常用字符含义
![](https://i-blog.csdnimg.cn/blog_migrate/8319541930289278f1d67c37f5071794.png)
![](https://i-blog.csdnimg.cn/blog_migrate/b259f7ce6b61c2ef9ff6d1468e5709d4.png)
![](https://i-blog.csdnimg.cn/blog_migrate/7d1d296dfc1cd1d19fedfc695e72e06e.png)
![](https://i-blog.csdnimg.cn/blog_migrate/3333f4ec6ddd537825bf2e7b0eb8bcc5.png)
5.捕获组和非捕获组
捕获组
![](https://i-blog.csdnimg.cn/blog_migrate/e08eb7b70f6fb050bd5bec885a682c57.png)
非捕获组
![](https://i-blog.csdnimg.cn/blog_migrate/59f0d7e26e3ce4bed916306557701f1d.png)
三、re库函数的使用
1.split()函数
![](https://i-blog.csdnimg.cn/blog_migrate/0460726a83e69bb81c59baa84c26918e.png)
![](https://i-blog.csdnimg.cn/blog_migrate/68cc3cae91441d726784c1a07bfaa442.png)
2.match()函数
注:检查字符串的开头,返回一个match对象,只匹配一次
![](https://i-blog.csdnimg.cn/blog_migrate/35bbdffd43471da4c81ab482e93b26ca.png)
![](https://i-blog.csdnimg.cn/blog_migrate/28600b0d71f8e29c1a6c4d5c8e6d7ab0.png)
3.search()函数
注:检查整个字符串,只匹配一次
![](https://i-blog.csdnimg.cn/blog_migrate/3db3739e7920b0446cea1c9dbed0a836.png)
![](https://i-blog.csdnimg.cn/blog_migrate/31b8091ff4c3c5c6f34ad8529fcf3a7f.png)
4.findall()函数
注:返回所有的非重叠匹配子字符的列表,捕获组只返回()内字符
![](https://i-blog.csdnimg.cn/blog_migrate/415780af4ae7def35aaac184b0890c0b.png)
一个组:
![](https://i-blog.csdnimg.cn/blog_migrate/a8274b61abba66d460353125be5e7c04.png)
多个组:
![](https://i-blog.csdnimg.cn/blog_migrate/3caa4484b85bb44879480c3ea9f45b5a.png)
5.sub()函数
![](https://i-blog.csdnimg.cn/blog_migrate/9d759c6fd47ac0d93402fb65f9d6b0c4.png)
![](https://i-blog.csdnimg.cn/blog_migrate/c0ed96aeb0756a67877aa7f3d792bb7a.png)
6.python正则表示式可选标志修饰符
![](https://i-blog.csdnimg.cn/blog_migrate/c20b32ab0bcb9c204d52b32775b94108.png)
![](https://i-blog.csdnimg.cn/blog_migrate/e58c4faba1cf57710f70a3882de2cac1.png)
![](https://i-blog.csdnimg.cn/blog_migrate/40be1013afea072a9f43a997d678f2c5.png)
![](https://i-blog.csdnimg.cn/blog_migrate/5bc4f86749385fcd756d3ad2c462e693.png)
四、贪婪模式和非贪婪模式
![](https://i-blog.csdnimg.cn/blog_migrate/77330471289f8260b1ad3ab72284f4ff.png)
![](https://i-blog.csdnimg.cn/blog_migrate/1f528586076760e120a7ee27c83aecea.png)
![](https://i-blog.csdnimg.cn/blog_migrate/e844350ad1e02035ad8e3a197b67f8f1.png)
![](https://i-blog.csdnimg.cn/blog_migrate/8e81a37bcd4acce39767506f3b050111.png)
![](https://i-blog.csdnimg.cn/blog_migrate/e6d033e5e61e01bbaa613e7aa1f11ca0.png)
标识符re.S
![](https://i-blog.csdnimg.cn/blog_migrate/beaca99685a3e809aabd2e673c5a221e.png)
![](https://i-blog.csdnimg.cn/blog_migrate/462a50e27c20b27e25bfd7d6f4d0a0c8.png)