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
146
分享
相关文章
Python学习的自我理解和想法(26)
这是一篇关于使用Python操作Word文档的学习总结,基于B站千锋教育课程内容编写。主要介绍了通过`python-docx`库在Word中插入列表(有序与无序)、表格,以及读取docx文件的方法。详细展示了代码示例与结果,涵盖创建文档对象、添加数据、设置样式、保存文件等步骤。虽为开学后时间有限下的简要记录,但仍清晰梳理了核心知识点,有助于初学者掌握自动化办公技巧。不足之处欢迎指正!
Python学习的自我理解和想法(22)
本文记录了作者学习Python第22天的内容——正则表达式,基于B站千锋教育课程。文章简要介绍了正则表达式的概念、特点及使用场景(如爬虫、数据清洗等),并通过示例解析了`re.search()`、`re.match()`、拆分、替换和匹配中文等基本语法。正则表达式是文本处理的重要工具,尽管入门较难,但功能强大。作者表示后续会深入讲解其应用,并强调学好正则对爬虫学习的帮助。因时间有限,内容为入门概述,不足之处敬请谅解。
Python学习的自我理解和想法(24)
本文记录了学习Python操作Excel的第24天内容,基于B站千锋教育课程。主要介绍openpyxl插件的使用,包括安装、读取与写入Excel文件、插入图表等操作。具体内容涵盖加载工作簿、获取单元格数据、创建和保存工作表,以及通过图表展示数据。因开学时间有限,文章简要概述了各步骤代码实现,适合初学者参考学习。如有不足之处,欢迎指正!
Python学习的自我理解和想法(20)
这是我在B站千锋教育课程中学习Python第20天的总结,主要涉及面向对象编程的核心概念。内容包括:私有属性与私有方法的定义、语法及调用方式;多态的含义与实现,强调父类引用指向子类对象的特点;单例设计模式的定义、应用场景及实现步骤。通过学习,我掌握了如何在类中保护数据(私有化)、实现灵活的方法重写(多态)以及确保单一实例(单例模式)。由于开学时间有限,内容简明扼要,如有不足之处,欢迎指正!
Python学习的自我理解和想法(25)
这是一篇关于Python操作Word文档(docx)的教程总结,基于B站千锋教育课程学习(非原创代码)。主要内容包括:1) docx库插件安装;2) 创建与编辑Word文档,如添加标题、段落、设置字体样式及保存;3) 向新或现有Word文档插入图片。通过简单示例展示了如何高效使用python-docx库完成文档操作。因开学时间有限,内容精简,后续将更新列表和表格相关内容。欢迎指正交流!
Python学习的自我理解和想法(21)
这是一篇关于Python文件操作的学习总结,基于B站千锋教育课程内容整理而成。文章详细介绍了文件操作的基础知识,包括参数(路径、模式、编码)、注意事项(编码一致性、文件关闭)以及具体操作(创建、读取、写入文件)。同时,深入解析了路径的概念,区分绝对路径与相对路径,并通过示例演示两者在实际应用中的差异。此外,还强调了不同模式(如"w"覆盖写入和"a"追加写入)对文件内容的影响。整体内容逻辑清晰,适合初学者掌握Python文件操作的核心技巧。
Python学习:内建属性、内建函数的教程
本文介绍了Python中的内建属性和内建函数。内建属性包括`__init__`、`__new__`、`__class__`等,通过`dir()`函数可以查看类的所有内建属性。内建函数如`range`、`map`、`filter`、`reduce`和`sorted`等,分别用于生成序列、映射操作、过滤操作、累积计算和排序。其中,`reduce`在Python 3中需从`functools`模块导入。示例代码展示了这些特性和函数的具体用法及注意事项。
Python学习五:函数、参数(必选、可选、可变)、变量、lambda表达式、内置函数总结、案例
这篇文章是关于Python函数、参数、变量、lambda表达式、内置函数的详细总结,包含了基础知识点和相关作业练习。
100 0
|
11月前
|
【Python学习篇】Python实验小练习——函数(十)
【Python学习篇】Python实验小练习——函数(十)
71 1
|
11月前
|
【Python学习篇】Python——函数(九)
【Python学习篇】Python——函数(九)
102 1

热门文章

最新文章

AI助理

你好,我是AI助理

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