Python学习的自我理解和想法(23)

简介: 本文记录了学习Python正则表达式的第23天心得,内容基于B站麦叔课程。文章分为三个部分:1) 正则表达式的七个境界,从固定字符串到内部约束逐步深入;2) 写正则表达式的套路,以座机号码为例解析模式设计;3) 正则表达式语法大全,涵盖字符类别、重复次数、组合模式、位置、分组、标记、特殊字符和替换等知识点。总结中表达了对知识的理解,并欢迎指正。

学的是b站的课程(麦叔),跟老师写程序,不是自创的代码!
今天是学Python的第23天,学的内容是正则表达式。开学了,时间不多,写得不多,见谅。
目录
1.七个境界
level 1 固定的字符串
level 2 某一类字符串
level 3 重复某一类字符
level 4 组合level2
level 5 多种情况
level 6 限定位置
level 7 内部约束
2.写正则表达式的套路
(1).确定模式包含几个子模式
(2).各个部分的字符分类是什么
(3).各个部分如何重复
(4).检查是否有外部位置限制
(5).检查是否有内部制约关系
3.正则表达式的语法大全
(1).字符类别表达
(2). 字符重复的次数
(3). 组合模式
(4). 位置
(5). 分组
(6). 标记
(7). 特殊字符
(8). 替换
总结


1.七个境界

level 1 固定的字符串

语法:找到是否含有一串字符串.
image.png
解析:r表示的是不进行转移,保留原字符串.

level 2 某一类字符串

语法:找到是否含有某一类字符串,如\d表示数字,\D表示不是数字,\w表示非标点符号的东西,[*] 可以匹配符合标准的任意字符.
image.png

level 3 重复某一类字符

语法:+表示1-多个,?表示0个或者1个, * 表示0个或多个,{a,b}表示从范围在a到b之间的都行,a为0可以不写.
image.png

level 4 组合level2

用处:匹配特殊的数字,如座机电话,手机号码.
image.png

level 5 多种情况

用处:匹配电话号码,不限于是手机还是座机.
语法:| 表示或者,两者都行.
image.png

level 6 限定位置

用处:例如只要最前面的电话号码.
语法:^表示句子开头,$表示结尾
image.png

level 7 内部约束

用处:比如你要匹配个AA类型的数据.
语法:返回值是一个列表,列表里面又是一个元组,因为代码中有两个括号,括号将我们的结果分成了两个部分,(\1)使得第一个括号中匹配的内容不再单独匹配.
image.png

2.写正则表达式的套路

以包含分机号码的座机号码为例,比如说0571-88776655-9527.

(1).确定模式包含几个子模式

答案:3个,两两之间用-连接.

(2).各个部分的字符分类是什么

答案:这三个子模式都是数字类型,可以用\d,现在可以写出模式为:\d-\d-\d.

(3).各个部分如何重复

答案:第一个子模式重复3~4次,第二个子模式重复7~8次,第三个子模式重复3~4次.
加上限制次数后,模式成为: \d(3,4)-\d(7,8)-\d(3,4).
倒有些座机没有分机号,所以我们用或运算符让其支持两者:
\d(3,4)-\d(7,8)-\d(3,4) | \d(3,4)-\d(7,8)

(4).检查是否有外部位置限制

答案:没有

(5).检查是否有内部制约关系

答案:没有

3.正则表达式的语法大全

以下图片全是来自于视频(@麦叔编程 硬核Python进阶篇 - 一小时掌握正则表达式)的截图,如有侵权请联系作者删除,谢谢.

(1).字符类别表达

表达某一类字符,比如数字,字母,3~9之间的任意和数字等.
image.png

(2). 字符重复的次数

也叫做量词,比如身份证是数字重复15或18次.
image.png

(3). 组合模式

多个简单的模式组合在一起,可以使拼接,也可以是二者选其一.
image.png

(4). 位置

鉴定模式出现的位置,比如行首,行尾或者在特定字符之后等.
image.png

(5). 分组

把一个正则表达式分成几个部分,这样可以重复某个分组,或者指定两个分组必须相同等额外的要求.
image.png

(6). 标记

语法:flags=re.XX,XX表示标记语言.
image.png

(7). 特殊字符

匹配特殊的字符
image.png

(8). 替换

image.png

总结

这是我今天学Python的自我想法和对其的理解,有不对的地方请同志们多多包涵,谢谢观看!

目录
打赏
0
10
10
12
143
分享
相关文章
Python学习的自我理解和想法(18)
这是我在学习Python第18天的总结,内容基于B站千锋教育课程,主要涉及面向对象编程的核心概念。包括:`self`关键字的作用、魔术方法的特点与使用(如构造函数`__init__`和析构函数`__del__`)、类属性与对象属性的区别及修改方式。通过学习,我初步理解了如何利用这些机制实现更灵活的程序设计,但深知目前对Python的理解仍较浅显,欢迎指正交流!
Python学习的自我理解和想法(19)
这是一篇关于Python面向对象学习的总结,基于B站千锋教育课程内容编写。主要涵盖三大特性:封装、继承与多态。详细讲解了继承(包括构造函数继承、多继承)及类方法与静态方法的定义、调用及区别。尽管开学后时间有限,但作者仍对所学内容进行了系统梳理,并分享了自己的理解,欢迎指正交流。
Python学习的自我理解和想法(22)
本文记录了作者学习Python第22天的内容——正则表达式,基于B站千锋教育课程。文章简要介绍了正则表达式的概念、特点及使用场景(如爬虫、数据清洗等),并通过示例解析了`re.search()`、`re.match()`、拆分、替换和匹配中文等基本语法。正则表达式是文本处理的重要工具,尽管入门较难,但功能强大。作者表示后续会深入讲解其应用,并强调学好正则对爬虫学习的帮助。因时间有限,内容为入门概述,不足之处敬请谅解。
Python学习的自我理解和想法(20)
这是我在B站千锋教育课程中学习Python第20天的总结,主要涉及面向对象编程的核心概念。内容包括:私有属性与私有方法的定义、语法及调用方式;多态的含义与实现,强调父类引用指向子类对象的特点;单例设计模式的定义、应用场景及实现步骤。通过学习,我掌握了如何在类中保护数据(私有化)、实现灵活的方法重写(多态)以及确保单一实例(单例模式)。由于开学时间有限,内容简明扼要,如有不足之处,欢迎指正!
Python学习的自我理解和想法(21)
这是一篇关于Python文件操作的学习总结,基于B站千锋教育课程内容整理而成。文章详细介绍了文件操作的基础知识,包括参数(路径、模式、编码)、注意事项(编码一致性、文件关闭)以及具体操作(创建、读取、写入文件)。同时,深入解析了路径的概念,区分绝对路径与相对路径,并通过示例演示两者在实际应用中的差异。此外,还强调了不同模式(如"w"覆盖写入和"a"追加写入)对文件内容的影响。整体内容逻辑清晰,适合初学者掌握Python文件操作的核心技巧。
Python学习的自我理解和想法(24)
本文记录了学习Python操作Excel的第24天内容,基于B站千锋教育课程。主要介绍openpyxl插件的使用,包括安装、读取与写入Excel文件、插入图表等操作。具体内容涵盖加载工作簿、获取单元格数据、创建和保存工作表,以及通过图表展示数据。因开学时间有限,文章简要概述了各步骤代码实现,适合初学者参考学习。如有不足之处,欢迎指正!
Python 高级编程与实战:深入理解性能优化与调试技巧
本文深入探讨了Python的性能优化与调试技巧,涵盖profiling、caching、Cython等优化工具,以及pdb、logging、assert等调试方法。通过实战项目,如优化斐波那契数列计算和调试Web应用,帮助读者掌握这些技术,提升编程效率。附有进一步学习资源,助力读者深入学习。
[oeasy]python081_ai编程最佳实践_ai辅助编程_提出要求_解决问题
本文介绍了如何利用AI辅助编程解决实际问题,以猫屎咖啡的购买为例,逐步实现将购买斤数换算成人民币金额的功能。文章强调了与AI协作时的三个要点:1) 去除无关信息,聚焦目标;2) 将复杂任务拆解为小步骤,逐步完成;3) 巩固已有成果后再推进。最终代码实现了输入验证、单位转换和价格计算,并保留两位小数。总结指出,在AI时代,人类负责明确目标、拆分任务和确认结果,AI则负责生成代码、解释含义和提供优化建议,编程不会被取代,而是会更广泛地融入各领域。
89 28
Python 高级编程与实战:深入理解数据科学与机器学习
本文深入探讨了Python在数据科学与机器学习中的应用,介绍了pandas、numpy、matplotlib等数据科学工具,以及scikit-learn、tensorflow、keras等机器学习库。通过实战项目,如数据可视化和鸢尾花数据集分类,帮助读者掌握这些技术。最后提供了进一步学习资源,助力提升Python编程技能。
|
2月前
|
[oeasy]python074_ai辅助编程_水果程序_fruits_apple_banana_加法_python之禅
本文回顾了从模块导入变量和函数的方法,并通过一个求和程序实例,讲解了Python中输入处理、类型转换及异常处理的应用。重点分析了“明了胜于晦涩”(Explicit is better than implicit)的Python之禅理念,强调代码应清晰明确。最后总结了加法运算程序的实现过程,并预告后续内容将深入探讨变量类型的隐式与显式问题。附有相关资源链接供进一步学习。
42 4

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等