Python 正则表达式操作指南.pdf
文本预览下载声明
目 录
Python正则表达式操作指南
简介
简单模式
字符匹配
重复
使用正则表达式
编译正则表达式
反斜杠的麻烦
执行匹配
模块级函数
编译标志
更多模式功能
更多的元字符
分组
无捕获组和命名组
前向界定符
修改字符串
将字符串分片
搜索和替换
常见问题
使用字符串方式
match() vs search()
贪婪 vs 不贪婪
不用 re.VERBOSE
反馈
本文档使用 看云 构建 - 2 -
Python正则表达式操作指南
Python正则表达式操作指南
Python正则表达式操作指南
出自Ubuntu中文
原文出处 :http//www.amk.ca/python/howto/regex/
原文作者 :A.M. Kuchling (amk@amk.ca )
授权许可 :创作共用协议
翻译人员 :FireHare
校对人员 :Leal
适用版本 :Python 1.5 及后续版本
摘要
本文是通过Python的 re 模块来使用正则表达式的一个入门教程 ,和库参考手册的对应章节相比 ,更为浅
显易懂、循序渐进。
本文可以从 http//www.amk.ca/python/howto 捕获
本文档使用 看云 构建 - 3 -
简介
简介
简介
Python 自1.5版本起增加了re 模块 ,它提供 Perl 风格的正则表达式模式。Python 1.5之前版本则是通过
regex 模块提供 Emacs 风格的模式。Emacs 风格模式可读性稍差些 ,而且功能也不强 ,因此编写新代码
时尽量不要再使用 regex 模块 ,当然偶尔你还是可能在老代码里发现其踪影。
就其本质而言 ,正则表达式 (或 RE )是一种小型的、高度专业化的编程语言 ,(在Python中 )它内嵌在
Python中 ,并通过 re 模块实现。使用这个小型语言 ,你可以为想要匹配的相应字符串集指定规则 ;该字
符串集可能包含英文语句、e-mail地址、TeX命令或任何你想搞定的东西。然后你可以问诸如 “这个字符
串匹配该模式吗 ?”或 “在这个字符串中是否有部分匹配该模式呢 ?”。你也可以使用 RE 以各种方式来
修改或分割字符串。
正则表达式模式被编译成一系列的字节码 ,然后由用 C 编写的匹配引擎执行。在高级用法中 ,也许还要仔
细留意引擎是如何执行给定 RE ,如何以特定方式编写 RE 以令生产的字节码运行速度更快。本文并不涉
及优化 ,因为那要求你已充分掌握了匹配引擎的内部机制。
正则表达式语言相对小型和受限 (功能有限 ),因此并非所有字符串处理都能用正则表达式完成。当然也
有些任务可以用正则表达式完成 ,不过最终表达式会变得异常复杂。碰到这些情形时 ,编写 Python 代码
进行处理可能反而更好 ;尽管 Python 代码比一个精巧的正则表达式要慢些 ,但它更易理解。
本文档使用 看云 构建 - 4 -
简单模式
简单模式
简单模式
我们将从最简单的正则表达式学习开始。由于正则表达式常用于字符串操作 ,那我们就从最常见的任务 :
字符匹配 下手。
有关正则表达式底层的计算机科学上的详细解释 (确定性和非确定性有限自动机 ),你可以查阅编写编译
器相关的任何教科书。
本文档使用 看云 构建 - 5 -
字符匹配
字符匹配
字符匹配
大多数字母和字符一般都会和自身匹配。例如 ,正则表达式 test 会和字符串 “test”完全匹配。 (你也可
以使用大小写不敏感模式 ,它还能让这个 RE 匹配 “Test”或 “TEST” ;稍后会有更多解释。
显示全部