正则指引(第2版) 封面

正则指引(第2版)

评分 4.2
字数
34万字
章节数
40
ISBN
9787121351303

标签

内容简介

《正则指引》是国内作者撰写的一本正则表达式系统教程与参考手册。全书综合了作者在开发实践中遇到的实际问题,以及其他开发人员咨询的问题,总结出一套运用正则表达式拆解问题、解决问题的思路,并用具体例子带领读者一步步分析。 全书分三部分。第一部分讲解正则表达式的基础知识,涵盖字符组、量词、括号与分组、断言(单词边界、行首行尾、环视)、匹配模式(不区分大小写、单行、多行、注释模式)等常见功能与结构,同时提醒转义、优先级、回车换行等容易出错之处。第二部分进入更深入的底层话题,讨论 Unicode 与字符编码、规范化、Unicode 属性与 Emoji,并以有穷自动机为线索解释正则表达式的匹配过程、回溯机制与 NFA/DFA 的差异;随后归纳“必须出现、可能出现、不能出现”三种逻辑,梳理提取、验证、替换、切分四类常见操作和若干优化建议,也提醒不要滥用正则。第三部分把前面的知识落到具体语言中,分章介绍 .NET、Java、JavaScript、PHP、Python、Ruby、Objective-C、Golang 以及 Linux/UNIX 工具链里正则表达式的用法与版本差异。 书末附有常用语言正则特性对照表、常用正则表达式与工具资源清单,既能从头学,也能随手查。第2版在第1版基础上做了修订,并新增了 Objective-C、Golang 等语言的介绍。

编辑推荐

正则表达式公认“入门容易、精通极难”:语法符号就那么几十个,可一旦写错一个字符,结果就天差地别。市面上的经典多是译作,而这本书是国内作者写给国内读者的。 它的好处有三点。第一,例子来自真实工作,比如日志分析、文本清洗、URL 改写,而不是为讲语法硬造的玩具案例;作者会先摆出问题,再带着你一步步拆解,教的是“怎么想”,而不只是“怎么写”。第二,它把中文处理讲透了。字符编码、Unicode、规范化、全角半角、Emoji 这些让国内开发者反复踩坑的话题,被单独辟章处理,这在同类书中相当少见。第三,它讲原理也讲取舍。回溯是怎么回事、NFA 与 DFA 差在哪里、为什么某个写法慢十倍,书里都有交代;同时也坦白告诉你,哪些活不该硬用正则。 第三部分按语言分章,遇到“这条正则在 Python 里能用,在 Java 里不行”的困惑时可以直接翻查,附录的特性对照表和常用表达式清单也很实用。适合放在手边,边用边翻。

适合谁读

适合

  • 需要处理日志、批量替换文本、做数据清洗的后端与运维工程师
  • 已会写常见编程语言、想在正则上从“够用”走到“精通”的开发者
  • 经常被中文、全角半角、Unicode 编码问题困扰的国内开发者
  • 写爬虫、做数据抽取和表单校验,需要一份可靠速查手册的人

不适合

  • 完全没有编程基础、连 Python 或其他语言基本语法都没接触过的读者
  • 只想三分钟背几条常用正则、不愿深究匹配原理的应急型用户
  • 期待系统讲解编译原理、自动机理论完整数学推导的学术读者

阅读建议

  1. 第一部分老实按顺序读,边读边在 regex101 等工具里动手试,比只看书有效得多
  2. 第二部分的编码与匹配原理章节值得反复读,遇到性能问题时回来对照回溯的解释
  3. 第三部分不必通读,按自己主用的语言挑一章精读,其余当作随时查阅的参考
  4. 把书里的例子换成自己项目中的真实文本重写一遍,是检验是否真懂的最好办法

出版社简介

电子工业出版社 中国 · 成立于 1982 年

电子工业出版社是一家以电子信息及相关领域为出版特色的综合性出版社。从库内三千余种图书来看,其出版方向覆盖编程设计、人工智能、计算机综合、财经、摄影与社科等门类,既关注技术前沿,也兼顾大众阅读。代表图书包括《因子投资:方法与实践》《x86汇编语言:从实模式到保护模式》《RISC-V开放架构设计之道》《人工智能:语音识别理解与实践》《相控阵雷达技术》《雷达目标特性》及《100个Go语言典型错误》等,多围绕技术方法与工程实践展开。作者资源方面,有石川、李忠、王晓波、大卫·帕特森、安德鲁·沃特曼、余子濠等中外作者。受公开资料所限,暂不展开更多出版特色。

目录

  1. 引子:关于正则表达式……
  2. 前言
  3. 第一部分 基础
  4. 第1章 字符组
  5. 1.1 普通字符组
  6. 1.2 关于 Python 的基础知识
  7. 1.3 普通字符组(续)
  8. 1.4 元字符与转义
  9. 1.5 排除型字符组
  10. 1.6 字符组简记法
  11. 1.7 字符组运算
  12. 1.8 POSIX 字符组
  13. 第2章 量词
  14. 2.1 一般形式
  15. 2.2 常用量词
  16. 2.3 数据提取
  17. 2.4 点号
  18. 2.5 滥用点号的问题
  19. 2.6 忽略优先量词
  20. 2.7 转义
  21. 第3章 括号
  22. 3.1 分组
  23. 3.2 多选结构
  24. 3.3 引用分组
  25. 3.4 非捕获分组
  26. 第4章 断言
  27. 4.1 单词边界
  28. 4.2 行起始/结束位置
  29. 4.3 环视
  30. 第5章 匹配模式
  31. 5.1 不区分大小写模式与模式的指定方式
  32. 5.2 单行模式
  33. 5.3 多行模式
  34. 5.4 注释模式
  35. 第6章 其他
  36. 6.1 转义
  37. 6.2 正则表达式的处理形式
  38. 6.3 表达式中的优先级
  39. 6.4 回车和换行
  40. 第二部分 深入

常见问题

这本书第1版和第2版有什么区别?
第1版为 2012 年出版,ISBN 9787121165511;第2版 2018 年出版,ISBN 9787121351303。第2版在内容上做了修订与补充,第三部分新增了 Objective-C、Golang 等语言的介绍,篇幅与定价也有所调整,新读者建议直接买第2版。
零基础能直接读这本吗?
不太建议当作零基础入门书。书中会用到 Python 等语言的基础写法,也讨论编码和匹配原理,门槛略高于《正则表达式必知必会》一类的入门小册。最好先会一门语言的基本语法,再回来看这本。
它和《精通正则表达式》是什么关系?
作者余晟正是《精通正则表达式(第3版)》的中文译者。那本是业界公认的经典译作,偏理论且篇幅很大;《正则指引》则是他结合国内开发场景写的原创书,例子更贴近中文处理,并分语言讲解用法,两者可以互相搭配,前者深读、后者常查。
书里为什么单独讲 Unicode 和编码?
因为处理中文文本时,字符集、全角半角、规范化形式、字节转义等问题往往比正则语法本身更容易出错。书中用一整章讨论 Unicode 属性、码值转义和 Emoji 等,帮助读者避免“同一段文本在两台机器上结果不同”这类问题。
第三部分覆盖哪些语言和工具?
第2版第三部分依次讲解 .NET、Java、JavaScript、PHP、Python、Ruby、Objective-C、Golang,以及 Linux/UNIX 环境中的相关用法与版本差异,附录还提供常用语言正则特性一览表,方便跨语言对照。

读者评论

查询本书

本站为索引目录:「全网查询」由您发起、在您的浏览器中运行,所列入口均指向第三方站点,请自行判断可用性。

作者简介

余晟 作者

余晟是一位中文技术图书作者,目前公开资料有限,尚不清楚其国籍、生卒年与教育背景。库内收录其作品一种,即《正则指引(第2版)》,该书常被归入编程设计类。从题材看,他关注的是正则表达式这一在文本处理与程序开发中广泛使用的实用技术,写作偏向工具书与学习指引,强调概念梳理与规则讲解,而非泛泛而谈编程理念。第二版的出现说明该书经过修订与更新,内容在实际使用中具有一定延续性和读者需求。对于希望系统掌握正则表达式的读者而言,这类作品可作为查阅与练习的参考。由于作者其他信息未见公开,其整体创作面貌仍需更多资料补充。

同一作者

同类高分