没有合适的资源?快使用搜索试试~ 我知道了~
首页[小小明]Python正则表达式全套笔记v0.3(1.8万字干货).pdf
[小小明]Python正则表达式全套笔记v0.3(1.8万字干货).pdf
需积分: 50 14 下载量 6 浏览量
更新于2023-03-03
评论 1
收藏 2.84MB PDF 举报
本文档是小小明个人的学习笔记,涵盖了正则表达式的各个方面,包括各种模式、分组、断言。 正则的匹配、查找、替换和切割一节包含各种典型的实际案例,各类使用场景。 正则匹配规则表,方便我们随时查询正则的规则,即使我自己也无法保证把那些规则全部记住,使用时 需要随时回来查询。 贪婪模式和非贪婪模式部分顺便简单讲解了正则匹配的基本原理(NFA和DFA,在2.3和3.2两个章 节)。 会员阅读地址:https://blog.csdn.net/as604049322/article/details/112691043 作者的博客地址:https://blog.csdn.net/as604049322
资源详情
资源评论
资源推荐
文档下载地址:https://download.csdn.net/download/as604049322/14503049
目录
1 文档简介
1.1 作者简介
1.2 阅读建议
1.3 版权声明
2 Python 正则表达式
2.1 基本概念
2.2 正则匹配规则表
2.2.1 基本字符规则:
2.2.2 预定义字符集:
2.2.3 常用字符集:
2.2.4 数量词:
2.2.5 边界匹配器:
2.2.6 逻辑、分组:
2.2.7 非捕获组与环视:
2.2.8 匹配模式和注释:
2.2.9 基本字符集匹配测试
2.3 贪婪模式、非贪婪模式和独占模式
2.3.1 贪婪模式(Greedy)
2.3.2 非贪婪模式(Lazy)
2.3.3 贪婪与非贪婪模式对比示例
2.3.4 回溯算法
2.3.5 独占模式(Possessive)
2.4 原生字符串简化反斜杠 \ 转义问题
2.5 分组
2.5.1 分组编号的计算规则
2.5.2 命名分组
2.6 断言(Assertion)
2.6.1 单词边界(Word Boundary)
2.6.2 行的开始或结束
2.6.3 环视( Look Around)
2.7 Python的Re模块
2.8 flags标志位
2.8.1 ASCII和UNICODE模式
2.8.2 IGNORECASE模式
2.8.3 MULTILINE模式
2.8.4 DOTALL模式
2.8.5 VERBOSE模式
2.8.6 TEMPLATE模式
2.8.7 DEBUG模式
2.9 正则匹配
2.9.1 基本函数
2.9.2 re.MatchObject 对象
2.9.3 匹配手机号码
2.9.4 匹配邮箱地址
2.9.5 匹配时引用分组
2.10 正则查找
2.11 正则替换
2.11.1 基本替换
2.11.2 环视替换
2.11.3 repl替换表达式引用分组
2.11.4 repl替换表达式使用函数
小小明个人笔记
2.12 正则切割
2.13 compile编译正则表达式
2.14 其他
3 补充资料
3.1 正则表达式的历史与流派
3.1.1 正则表达式简史
3.1.2 正则表达式流派
3.1.2.1 POSIX 流派
3.1.2.2 PCRE 流派
3.1.3 在Linux中使用正则
3.2 正则的匹配原理以及优化原则
3.2.1 有穷状态自动机
3.2.2 正则的匹配过程
3.2.3 DFA& NFA 工作机制
3.2.4 POSIX NFA 与 传统 NFA 区别
3.2.5 回溯详解
1 文档简介
1.1 作者简介
大家好,我是小小明,本人非常擅长解决各类复杂数据处理的逻辑,包括各类结构化与非结构化数据互
转。如果你在数据处理上遇到什么困难,欢迎与我交流。
本文档是小小明个人的学习笔记,涵盖了正则表达式的各个方面,包括各种模式、分组、断言。
正则的匹配、查找、替换和切割一节包含各种典型的实际案例,各类使用场景。
正则匹配规则表,方便我们随时查询正则的规则,即使我自己也无法保证把那些规则全部记住,使用时
需要随时回来查询。
贪婪模式和非贪婪模式部分顺便简单讲解了正则匹配的基本原理(NFA和DFA,在2.3和3.2两个章
节)。
作者的博客地址:https://blog.csdn.net/as604049322
1.2 阅读建议
本文档本身可能并不适合初学者学习,但非常适合对正则有一定基础了解的朋友系统性学习。
对于初学者建议在B站找两部正则入门教程入门之后再学习本文档。
初学者直接阅读本文档,可以先跳过正则匹配规则表部分,不要纠结,等学完后续部分之后再回来看。
正则匹配规则表主要针对已经掌握正则的朋友,随时回来查询规则。
1.3 版权声明
转载请申明出处
小小明个人笔记
2 Python 正则表达式
2.1 基本概念
正则表达式在每种编程语言中都具有相同的概念,整体规则都大致一致,只是部分语言没有实现少部分
规则。
正则表达式的本质就是用一些特定字符的组合,组成一个“规则字符串”表达对字符串的一种过滤逻辑,
可以很方便的从指定的字符串中提取出我们想要的内容。
python正则表达式的官方文档是:https://docs.python.org/zh-cn/3.7/library/re.html
一个优秀的正则测试网站:https://regex101.com/
本地正则测试软件(依赖.Net 4.8):https://deerchao.cn/tools/regester/index.htm
下面我们看一下正则规则表,可以在以后需要的时候,随时回来查询相应的规则:
2.2 正则匹配规则表
2.2.1 基本字符规则:
小小明个人笔记
模式 描述 实例
完整
字符
串
一般
字符
匹配自身 abc abc
.
默认匹配除了换行符以外的任意字符,匹配模式指定
re.DOTALL标记时,也可以匹配包括换行符的任意字符。
a.c abc
\
转义模式字符作为被匹配的字符,例如字符 * 需要匹配,可以
使用 \* 或 [*]
a\.c
a\\c
a.c
a\c
[...] 用来表示一组字符,例如[amk] 匹配 'a','m'或'k' a[bcd]e
abe
ace
ade
[^...]
匹配不在[]中的字符:例如 [^abc] 匹配除了a,b,c之外的字符。 a[^bcd]e
aae
afe
age
\t 制表符 ( '\u0009' )
\n 新行(换行)符 ( '\u000A' )
\r 回车符 ( '\u000D' )
\f 换页符( '\u000C' )
\a 报警 (bell) 符( '\u0007' )
\e 转义符( '\u001B' )
模式 描述 实例 完整字符串
\d 数字:[0-9] a\dc a1c
\D 非数字: [^0-9] a\Dc abc
\s 空白字符:[<空格>\t\r\n\v\f] a\sc a c
\S 非空白字符: [^\s] a\Sc abc
\w 单词字符:[a-zA-Z_0-9] a\wc abc
\W 非单词字符: [^\w] a\Wc a c
2.2.2 预定义字符集:
(可以写在字符集[...]中)
2.2.3 常用字符集:
小小明个人笔记
模式 描述
[\u4e00-\u9fa5] 中文字符
[A-Za-z0-9] 英文和数字
[A-Za-z] 26个英文字母
[A-Z] 26个大写英文字母
[a-z] 26个小写英文字母
\w 数字、26 个英文字母或者下划线
[\u4E00-\u9FA5A-Za-
z0-9_]
中文、英文、数字包括下划线
[\u4E00-\u9FA5A-Za-
z0-9]
中文 、英文 、数字 但不包括下划线等符号
[^%&',;=?$\x22] ^%&',;=?$"等字符
[^\x00-\xff]
双字节字符,可以用来计算字符串的长度(一个双字节字符长度计 2,
ASCII 字符计1)
模式 描述 实例
完整字
符串
*
贪婪模式,匹配前1个字符0次或多次, *? 表示非贪婪模式,
*+ 表示独占模式(re模块不支持)
abc*
ab
abcccc
+
贪婪模式,匹配前1个字符1次或多次, +? 表示非贪婪模式,
++ 表示独占模式(re模块不支持)
abc+
abc
abcccc
?
匹配前一个字符0次或1次,同样分为贪婪模式(默认),非贪婪
模式(加?)和独占模式(加+)
abc?
ab
abc
{m} 匹配前一个字符m次 ab{2}c abbc
{m,n}
{m,n}匹配前一个字符m至n次
{,n}匹配前一个字符0至n次
{m,}匹配前一个字符m至多次
同样分为贪婪模式(默认),非贪婪模式(加?)和独占模式(加+)
ab{1,2}c
abc
abbc
2.2.4 数量词:
2.2.5 边界匹配器:
小小明个人笔记
剩余53页未读,继续阅读
小小明-代码实体
- 粉丝: 11w+
- 资源: 5
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
- SPC统计方法基础知识.pptx
- MW全能培训汽轮机调节保安系统PPT教学课件.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0