自从计算机科学起步以来,文本处理一直是最相关的话题之一。经过几十年的研究,我们现在拥有了现有的最通用、最普及的工具之一:正则表达式。文本的验证、搜索、提取和替换都是由于正则表达式而简化的操作。
本书首先从鸟瞰的角度介绍正则表达式,逐步深入到更高级的主题,如 Python 或分组的正则表达式细节、解决方法和性能。所有主题都将包含特定于 Python 的示例,这些示例可以直接在 Python 控制台中使用。
第 1 章介绍正则表达式将从非 Python 特定的角度介绍正则表达式语法的基础知识。
第 2 章正则表达式和 Python将从 Python 特定的角度介绍 Python 正则表达式的 API 及其怪癖。
第 3 章、分组介绍了正则表达式功能,用于提取部分信息,将量词应用于特定部分,并执行正确的替换。
第 4 章环视解释了零宽度断言的概念和不同类型的环视机制。
第 5 章正则表达式的性能将涵盖测量正则表达式速度的不同工具、Python 正则表达式模块的详细信息以及提高正则表达式性能的不同建议。
要理解这本书,需要在任何受支持的平台上掌握 Python 的基本知识。能够使用能够访问 Python 命令行的控制台是很重要的。
以前的正则表达式知识是不需要的,因为它将从头开始。
本书面向希望全面理解正则表达式以及如何在 Python 中特别利用正则表达式的 Python 开发人员。
在这本书中,你会发现许多不同类型的文本可以区分不同类型的信息。下面是这些风格的一些例子,并解释了它们的含义。
文本中的代码字、数据库表名、文件夹名、文件名、文件扩展名、路径名、虚拟 URL、用户输入和 Twitter 句柄如下所示:“我们可以通过使用include指令来包含其他上下文。”
代码块设置如下:
>>> import re
>>> pattern = re.compile(r'<HTML>')
>>> pattern.match("<HTML>")当我们希望提请您注意代码块的特定部分时,相关行或项目以粗体显示:
>>> import re
>>> pattern = re.compile(r'<HTML>')
>>> pattern.match("<HTML>")新术语和重要词语以粗体显示。例如,您在屏幕上、菜单或对话框中看到的文字出现在文本中,如下所示:“单击下一步按钮将移动到下一屏幕”。
警告或重要注释显示在这样的框中。
提示和技巧如下所示。
我们欢迎读者的反馈。让我们知道你对这本书的看法你喜欢或可能不喜欢什么。读者反馈对于我们开发您真正从中获益最多的标题非常重要。
要向我们发送一般反馈,只需向<[feedback@packtpub.com](mailto:feedback@packtpub.com)>发送一封电子邮件,并通过邮件主题提及书名。如果您对某个主题有专业知识,并且有兴趣撰写或贡献一本书,请参阅www.packtpub.com/authors上的作者指南。
既然您是一本 Packt 图书的骄傲拥有者,我们有很多东西可以帮助您从购买中获得最大收益。
您可以下载您在账户购买的所有 Packt 书籍的示例代码文件 http://www.packtpub.com 。如果您在其他地方购买了本书,您可以访问http://www.packtpub.com/support 并注册,将文件直接通过电子邮件发送给您。
虽然我们已尽一切努力确保内容的准确性,但错误确实会发生。如果您在我们的一本书中发现错误,可能是文本或代码中的错误,如果您能向我们报告,我们将不胜感激。通过这样做,您可以使其他读者免于沮丧,并帮助我们改进本书的后续版本。如果您发现任何错误,请访问进行报告 http://www.packtpub.com/submit-errata ,选择您的书籍,点击勘误表提交表单链接,输入您勘误表的详细信息。一旦您的勘误表得到验证,您的提交将被接受,勘误表将上传到我们的网站上,或添加到该标题勘误表部分的任何现有勘误表列表中。通过从中选择您的标题,可以查看任何现有勘误表 http://www.packtpub.com/support 。
在互联网上盗版版权材料是所有媒体的一个持续问题。在 Packt,我们非常重视版权和许可证的保护。如果您在互联网上发现我们作品的任何形式的非法复制品,请立即向我们提供地址或网站名称,以便我们采取补救措施。
请致电<[copyright@packtpub.com](mailto:copyright@packtpub.com)>与我们联系,并提供可疑盗版材料的链接。
我们感谢您在保护我们的作者方面的帮助,以及我们为您带来有价值内容的能力。
如果您对本书的任何方面有疑问,请致电<[questions@packtpub.com](mailto:questions@packtpub.com)>与我们联系,我们将尽力解决。