您所在位置: 网站首页 / Python正则表达式操作指南.docx / 文档详情
Python正则表达式操作指南.docx 立即下载
2024-11-06
约2.2万字
约27页
0
43KB
举报 版权申诉
预览加载中,请您耐心等待几秒...

Python正则表达式操作指南.docx

Python正则表达式操作指南.docx

预览

免费试读已结束,剩余 22 页请下载文档后查看

20 金币

下载文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

Python正则表达式操作指南
原文出处:
原文作者:A.M.Kuchling(amk@amk.ca)
授权许可:创作共享协议
翻译人员:FireHare
校对人员:Leal
适用版本:Python1.5及后续版本

摘要
本文是通过Python的re模块来使用正则表达式的一个入门教程,和库参考手册的对应章节相比,更为浅显易懂、循序渐进。
本文可以从捕获
目录

目录
[隐藏]
1简介
2简单模式
2.1字符匹配
2.2重复
3使用正则表达式
3.1编译正则表达式
3.2反斜杠的麻烦
3.3执行匹配
3.4模块级函数
3.5编译标志
4更多模式功能
4.1更多的元字符
4.2分组
4.3无捕获组和命名组
4.4前向界定符
5修改字符串
5.1将字符串分片
5.2搜索和替换
6常见问题
6.1使用字符串方式
6.2match()vssearch()
6.3贪婪vs不贪婪
6.4不用re.VERBOSE
7反馈
8关于本文档

[编辑]简介
Python自1.5版本起增加了re模块,它提供Perl风格的正则表达式模式。Python1.5之前版本则是通过regex模块提供Emacs风格的模式。Emacs风格模式可读性稍差些,而且功能也不强,因此编写新代码时尽量不要再使用regex模块,当然偶尔你还是可能在老代码里发现其踪影。
就其本质而言,正则表达式(或RE)是一种小型的、高度专业化的编程语言,(在Python中)它内嵌在Python中,并通过re模块实现。使用这个小型语言,你可以为想要匹配的相应字符串集指定规则;该字符串集可能包含英文语句、e-mail地址、TeX命令或任何你想搞定的东西。然后你可以问诸如“这个字符串匹配该模式吗?”或“在这个字符串中是否有部分匹配该模式呢?”。你也可以使用RE以各种方式来修改或分割字符串。
正则表达式模式被编译成一系列的字节码,然后由用C编写的匹配引擎执行。在高级用法中,也许还要仔细留意引擎是如何执行给定RE,如何以特定方式编写RE以令生产的字节码运行速度更快。本文并不涉及优化,因为那要求你已充分掌握了匹配引擎的内部机制。
正则表达式语言相对小型和受限(功能有限),因此并非所有字符串处理都能用正则表达式完成。当然也有些任务可以用正则表达式完成,不过最终表达式会变得异常复杂。碰到这些情形时,编写Python代码进行处理可能反而更好;尽管Python代码比一个精巧的正则表达式要慢些,但它更易理解。

[编辑]简单模式
我们将从最简单的正则表达式学习开始。由于正则表达式常用于字符串操作,那我们就从最常见的任务:字符匹配下手。
有关正则表达式底层的计算机科学上的详细解释(确定性和非确定性有限自动机),你可以查阅编写编译器相关的任何教科书。

字符匹配
大多数字母和字符一般都会和自身匹配。例如,正则表达式test会和字符串“test”完全匹配。(你也可以使用大小写不敏感模式,它还能让这个RE匹配“Test”或“TEST”;稍后会有更多解释。)
这个规则当然会有例外;有些字符比较特殊,它们和自身并不匹配,而是会表明应和一些特殊的东西匹配,或者它们会影响到RE其它部分的重复次数。本文很大篇幅专门讨论了各种元字符及其作用。
这里有一个元字符的完整列表;其含义会在本指南馀下部分进行讨论。
.^$*+?{[]\|()
我们首先考察的元字符是"["和"]"。它们常用来指定一个字符类别,所谓字符类别就是你想匹配的一个字符集。字符可以单个列出,也可以用“-”号分隔的两个给定字符来表示一个字符区间。例如,[abc]将匹配"a","b",或"c"中的任意一个字符;也可以用区间[a-c]来表示同一字符集,和前者效果一致。如果你只想匹配小写字母,那么RE应写成[a-z].
元字符在类别里并不起作用。例如,[akm$]将匹配字符"a","k","m",或"$"中的任意一个;"$"通常用作元字符,但在字符类别里,其特性被除去,恢复成普通字符。
你可以用补集来匹配不在区间范围内的字符。其做法是把"^"作为类别的首个字符;其它地方的"^"只会简单匹配"^"字符本身。例如,[^5]将匹配除"5"之外的任意字符。
也许最重要的元字符是反斜杠"\"。做为Python中的字符串字母,反斜杠后面可以加不同的字符以表示不同特殊意义。它也可以用于取消所有的元字符,这样你就可以在模式中匹配它们了。举个例子,如果你需要匹配字符"["或"\",你可以在它们之前用反斜杠来取消它们的特殊意义:\[或\\。
一些用"\"开始的特殊字符所表示的预定义字符集通常是很有用的,象数字集,字母集,或其它非空字符集。下列是可用的预设特殊字符:
\d匹配任何十进制数;它相当于类[0-9]。
\D匹配任何非数字字符;它相当于类[^0-9]。
\s匹配任何空白字符;它相当于类[\t
查看更多
单篇购买
VIP会员(1亿+VIP文档免费下)

扫码即表示接受《下载须知》

Python正则表达式操作指南

文档大小:43KB

限时特价:扫码查看

• 请登录后再进行扫码购买
• 使用微信/支付宝扫码注册及付费下载,详阅 用户协议 隐私政策
• 如已在其他页面进行付款,请刷新当前页面重试
• 付费购买成功后,此文档可永久免费下载
全场最划算
12个月
199.0
¥360.0
限时特惠
3个月
69.9
¥90.0
新人专享
1个月
19.9
¥30.0
24个月
398.0
¥720.0
6个月会员
139.9
¥180.0

6亿VIP文档任选,共次下载特权。

已优惠

微信/支付宝扫码完成支付,可开具发票

VIP尽享专属权益

VIP文档免费下载

赠送VIP文档免费下载次数

阅读免打扰

去除文档详情页间广告

专属身份标识

尊贵的VIP专属身份标识

高级客服

一对一高级客服服务

多端互通

电脑端/手机端权益通用