| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> Python知识库 -> python学习之路(第八天)---re模块正则表达式 -> 正文阅读 |
|
[Python知识库]python学习之路(第八天)---re模块正则表达式 |
python学习之路(第八天)—re模块正则表达式正则表达式,像代码中的find开头的一些就死正则表达式,作用是筛选我们需要的信息。 用到的是re库,安装过程不再赘述,事实上也可以不用正则表达式,非必须的。这里简单学习一下 在线正则匹配https://c.runoob.com/front-end/854 可以在线试试编写的正则表达式是否正确 正则匹配语法re.compile方法compile 函数用于编译正则表达式,生成一个正则表达式( Pattern )对象,供 match() 和 search() 这两个函数使用。 语法格式为:re.compile(pattern[, flags]) 参考菜鸟教程:https://www.runoob.com/python/python-reg-expressions.html 我们通过代码中的案例来分析一下:
这是筛选影片链接的正则表达 这里链接的标签对应的就是 对应的就是’ 这里的 .*?就表示的是这个链接https://movie.douban.com/subject/1292052/,括号是将链接分组 然后作用到爬取的页面中 下面是一个简单的例子:
re.match方法re.match 尝试从字符串的起始位置匹配一个模式,如果不是起始位置匹配成功的话,match()就返回none。 函数语法:re.match(pattern, string, flags=0) 匹配成功re.match方法返回一个匹配的对象,否则返回None。
re.search方法re.search 扫描整个字符串并返回第一个成功的匹配。 函数语法:re.search(pattern, string, flags=0) 与match类似,区别在于 re.match只匹配字符串的开始,如果字符串开始不符合正则表达式,则匹配失败,函数返回None;而re.search匹配整个字符串,直到找到一个匹配。 re.finditer方法和 findall 类似,在字符串中找到正则表达式所匹配的所有子串,并把它们作为一个迭代器返回。
转义匹配当遇到用于正则匹配模式的特殊字符时,在前面加反斜线转义一下即可。例如.就可以用\ .来匹配 对比 findall()在字符串中找到正则表达式所匹配的所有子串,并返回一个列表,如果没有找到匹配的,则返回空列表。 注意: match 和 search 是匹配一次 findall 匹配所有。 语法格式为:
参数:
还有一些其他方法不多介绍,参考自菜鸟教程可以自行学习下, 正则表达式的实例参考菜鸟教程
正则表达式:
解析: 首先,这是一个字符串,前面的一个 r 表示字符串为非转义的原始字符串,让编译器忽略反斜杠,也就是忽略转义字符。但是这个字符串里没有反斜杠,所以这个 r 可有可无。
matchObj.group() 等同于 matchObj.group(0),表示匹配到的完整文本字符 matchObj.group(1) 得到第一组匹配结果,也就是(.*)匹配到的 matchObj.group(2) 得到第二组匹配结果,也就是(.*?)匹配到的 因为只有匹配结果中只有两组,所以如果填 3 时会报错。 ’(?P…)’ 分组匹配 例:身份证 1102231990xxxxxxxx
此分组取出结果为:
直接将匹配结果直接转为字典模式,方便使用。 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/15 11:47:17- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |