re模块----你也可以玩得很溜正则表达式

简介: re模块----你也可以玩得很溜正则表达式

re模块

1下载re模块

2导入模块

import re

3 语法

re模块相当于是一个语言模块,拥有自己的语言规则,是爬虫的数据爬取进行数据的提取的三大模块(re    xpath   bs4 ) 之一,下面介绍re的语法的一些标识符:

(1)匹配单个字符


9a16006d0ede4f998b9b89258e23be8c.png

(2)匹配多个字符

补充一点:使用多字符就会使正则表达式变成贪婪,多字符标记加上个?就会使正则表达式变成非贪婪,下面会有介绍

(3)匹配开头结尾

527926ae24e04516a8489d33c98567c7.png

(4)匹配分组

re.match()

match(pattern, string, flags=0)===>match("正则表达式", 拿来匹配的字符串, 匹配方式)

(1)简单介绍

match(pattern, string, flags=0)===>match("正则表达式", 拿来匹配的字符串, 匹配方式)

这样解释可能一点不友好,下面开始使用match()

(1)使用单字符" . "

160315fed8cc4239bd3edd1371fa658a.png

现在由我来解释

match()是re里的函数,match利用正则表达式来跟字符串匹配,从头开始匹配,

可以理解为正则表达式有啥,字符串的开头就必须有,

e09c72aa703840c894d3bb21c40cdf21.png

没有就会报错,如下图:

68336a569db7405392d7186fa74fd6d5.png

group()是报错的主犯,当match匹配不到时,会返回None,正因group()拿不到匹配到的字符就会报错group()返回匹配到的字符

flag匹配模式

下面我们简单介绍re.S和re.I

re.I 不区分大小写

re.S 可以换行匹配

search(pattern, string, flags=0)===>search("正则表达式", 拿来匹配的字符串, 匹配方式)

search()的匹配原理是在字符串中找到符合正则表达式的字符就立刻返回,(就是找到第一个就会返回) c5c9f1bdde5f4034b653a0216cd7f741.png

findall(pattern, string, flags=0)===>findall("正则表达式", 拿来匹配的字符串, 匹配方式)         (直接返回所有匹配到的字符)


findall()和前面的match() search()不同,findall是直接把所有匹配到的字符以列表返回


split(pattern, string, maxsplit=0, flags=0)===>split("正则表达式", 拿来匹配的字符串,最大切割数, 匹配方式)  

split就是把匹配到的字符切割(可以理解为去掉字符) ,返回切割后的字符串,和前面不同,前面是返回匹配到的,


d5453a3081d54c7596a3cc9ebba3f9a5.png


sub(pattern, repl, string, count=0, flags=0)===>findall("正则表达式",替换的字符, 拿来匹配的字符串, 匹配方式)

sub()和findall()的匹配类似都是匹配到全部符合的,唯一不同的就是会把匹配到的字符进行替换


1a402f0407cc42fd925da5a4c1dfb6ea.png


总结

以上的方法都是为了更好的匹配字符串,灵活性高,操作性强


相关文章
|
1月前
|
Python
除了`re`模块,还有哪些库可以用于正则表达式的匹配?
【2月更文挑战第11天】【2月更文挑战第31篇】
|
2月前
|
开发者 Python
Python中的正则表达式:re模块详解与实例
Python中的正则表达式:re模块详解与实例
|
3月前
|
Python Windows
【Python进阶必备】一文掌握re库:实战正则表达式
【Python进阶必备】一文掌握re库:实战正则表达式
79 0
|
3月前
|
数据采集 Python
Python学习 -- 正则表达式(re模块)
Python学习 -- 正则表达式(re模块)
22 0
|
4月前
|
自然语言处理 算法 Python
【Python自然语言处理】正则表达式(RE)的讲解及实战应用(图文解释 附源码)
【Python自然语言处理】正则表达式(RE)的讲解及实战应用(图文解释 附源码)
47 0
|
1月前
|
编译器 Python
Python正则表达式的7个使用典范(推荐)
Python正则表达式的7个使用典范(推荐)
24 0
|
1月前
|
Python
Python实现正则表达式匹配。
【2月更文挑战第11天】【2月更文挑战第30篇】Python实现正则表达式匹配。
|
1月前
|
Python
请解释Python中的正则表达式以及如何使用它们进行文本处理。
请解释Python中的正则表达式以及如何使用它们进行文本处理。
9 0
|
1月前
|
机器学习/深度学习 Python
请解释Python中的正则表达式是什么?并举例说明其用法。
【2月更文挑战第26天】【2月更文挑战第86篇】请解释Python中的正则表达式是什么?并举例说明其用法。
|
1月前
|
缓存 数据安全/隐私保护 Python
Python快速入门:类、文件操作、正则表达式
Python快速入门:类、文件操作、正则表达式