具体描述
本书综合作者自己遇到的实际问题,以及其他开发人员咨询的问题,总结出一套巧妙运用正则表达式的办法,并通过具体的例子指导读者拆解、分析问题。全书分为三部分:*部分主要讲解正则表达式的基础知识,涵盖了正则表达式中常见的各种功能和结构;第二部分主要讲解关于正则表达式的更深入的知识,详细探讨了编码问题、匹配原理、解题思路;第三部分将之前介绍的各种知识落实到常用语言.NET、Java、JavaScript、PHP、Python、Ruby、Objective-C、Golang中,在详细介绍了在这些语言中正则表达式的具体用法之外,还辨析了版本之间的细微差异。本书既可以作为专门的学习用书,也可以作为备查的参考手册。
作者简介
余晟,非正统型技术爱好者,有多年研发经验,目前在在线教育行业从事研发与架构管理的工作。在强调技术追求的同时,倡导全面、完整的技术路线和技术文化,业余写作、翻译、审校了若干技术图书。个人公众号为“余晟以为”(yurii-says)。
目录信息
第1章 字符组 .................2
第2章 量词 ...................17
第3章 括号 ...................33
第4章 断言 ...................60
第5章 匹配模式 ............83
第6章 其他 ...................95
第二部分
第7章 Unicode ...........112
第8章 匹配原理 ..........138
第9章 常见问题的解决思路 ...........................146
第三部分
第10章 .NET ..............176
第11章 Java ..............191
第12章 JavaScript .....208
第13章 PHP ...............225
第14章 Python ...........245
第15章 Ruby ..............263
第16章 Objective-C ..280
第17章 Golang...........299
第18章 Linux/UNIX ....314
附录A 常用语言中正则特性一览 ....................337
附录B 常用的正则表达式 ...............................340
附录C 常用的正则表达式工具及资源 .............356
正则表达式术语中英文对照表 ...........................363
· · · · · · (收起)
读后感
第110页注1:“...同一种unicode字符在不同的编码中有不同的码值。” —— 一个unicode字符的code point是一个抽象的整数值,这个值是固定不变的。只将这个值按照不同的编码方式映射到低层的若干字节(octet strings)的时候,这一串octet的值会依据编码方式的不同而不同(char...
不得不承认这是一本不错的“指引”,内容实用。 不足之处有: 1. 知识点的层次不够清晰,部分原因是排版导致的,内容被例子和图片分割得支离破碎; 2. 感觉作者有点“卖弄”文采,描述有点啰嗦,还有一些简直就是废话,阅读起来有点费劲(也有可能是自己的阅读水平及其低下导致...
本页中提到正则的优先级: 表6-10 提到 (ab)+ 能匹配到 的字符串 : abc aabc aabc 谁能帮解释,是不是错误? 这个只能匹配 ab abab ababab 的呀?【我只能写这么多,为了凑字 豆瓣啊~~】
本书非常优秀,作者是多年的正则表达式玩家,对正则表达式深入浅出的介绍掌握得非常有分寸。纵有些许瑕疵但是着实值得向新人或者刚接触正则表达式不久的人推荐,也可以作为《精通正则表达式(第三版)》的前置读物。 私心提一句,对于正则表达式这个领域,实际上绝大多数的语言...
不得不承认这是一本不错的“指引”,内容实用。 不足之处有: 1. 知识点的层次不够清晰,部分原因是排版导致的,内容被例子和图片分割得支离破碎; 2. 感觉作者有点“卖弄”文采,描述有点啰嗦,还有一些简直就是废话,阅读起来有点费劲(也有可能是自己的阅读水平及其低下导致...
用户评价
最近工作上遇到了很多需要处理非结构化文本数据的任务,我之前也接触过一些正则表达式的皮毛,但总感觉不够深入,很多时候只能生搬硬套,效率不高。所以,《正则指引(第2版)》这个书名一出现,我就觉得它可能正是我需要的。我特别想知道,这本书会如何系统地讲解正则表达式的语法和概念,会不会像一本字典一样,把各种元字符、量词、分组、选择等都一一列举,并配有清晰的解释和示例?我更关心的是,它会如何教我构建出能够解决实际问题的正则表达式。比如,如何从一大段HTML代码中提取特定的信息,或者如何验证用户输入的邮箱地址、电话号码是否符合规范。这本书会不会提供一些通用的解题思路和方法论,让我能够举一反三?我也希望它能介绍一些常见的陷阱和误区,避免我走弯路,或者写出效率低下、容易出错的正则。如果它能包含一些关于正则表达式性能优化的讨论,以及如何在不同平台或语言环境下使用时需要注意的事项,那就更好了。毕竟,正则表达式的威力在于它的灵活性,但也可能因为不当使用而带来性能问题。
我一直对文本处理和数据提取非常感兴趣,尤其是那些能够帮助我自动化处理大量文本信息的技术。这本书的名字《正则指引(第2版)》瞬间吸引了我,因为“正则”这个词本身就意味着强大而精确的模式匹配能力。我尤其好奇它在现代编程语言中的具体实现和最佳实践,比如在Python、JavaScript或者Java这样的语言里,正则表达式的性能优化技巧,以及如何处理一些复杂的、嵌套型的匹配场景。我希望这本书能深入浅出地讲解正则表达式的方方面面,从最基础的字符匹配、量词、分组,到更高级的断言、环视,甚至是如何编写更具可读性和可维护性的正则表达式,毕竟,一个复杂的正则表达式如果没有良好的结构,后期维护起来简直是灾难。我还想了解一些实际应用案例,比如网页爬虫的数据解析、日志文件分析、配置文件的验证等,看看正则表达式是如何在这些场景下大显身手的。如果这本书能提供一些调试工具和技巧,那就更完美了,毕竟写正则和调试正则常常是同样消耗时间和精力的过程。我期待这本书能够让我对正则表达式有一个质的提升,能够自信地应对各种文本处理挑战。
作为一个对计算机科学基础理论有浓厚兴趣的学习者,《正则指引(第2版)》这个书名让我眼前一亮。我一直认为,正则表达式虽然在表面上看是一种文本匹配工具,但其背后蕴含着形式语言和自动机理论的精髓。我希望这本书能够不仅仅停留在语法层面的介绍,更能深入探讨正则表达式的理论基础,比如它与有限自动机之间的等价关系,以及它在编译原理、文本编辑器、搜索引擎等领域的深层应用。我特别想知道,书中会不会介绍如何将复杂的正则表达式转化为DFA或NFA,以及这种转换在理解其工作原理和性能方面的重要性。此外,对于正则表达式的各种变体,比如PCRE(Perl Compatible Regular Expressions)或者POSIX正则表达式,书中是否会进行详细的比较和阐述,并说明它们各自的优缺点和适用场景?我还会关注书中是否有关于正则表达式引擎的实现原理的介绍,比如它是如何解析和匹配文本的,以及可能存在的性能瓶颈和优化方向。如果书中能提及一些更高级的主题,例如正则表达式的语法扩展,或者与其他模式匹配技术的比较,那就更具学术价值了。
我一直对软件开发中的高效文本处理技术抱有浓厚的兴趣,而正则表达式无疑是其中最强大、最常用的工具之一。《正则指引(第2版)》这个书名立刻吸引了我,因为我相信它能够帮助我深化对这一技术的理解。我非常期待书中能够提供一个全面而系统的正则表达式学习路径,从最基础的语法规则,到各种高级特性,例如环视(lookahead/lookbehind)、原子组、递归匹配等等。我希望这本书能够深入浅出地讲解这些概念,并辅以大量的实际应用案例,让我能够理解它们在解决复杂文本匹配问题时的强大威力。我尤其关注书中是否会讲解一些在实际开发中非常常见的场景,比如数据清洗、日志分析、模式验证、文本搜索与替换等,并展示如何运用正则表达式来高效地解决这些问题。此外,我希望书中也能提及一些关于正则表达式性能优化的讨论,以及如何避免常见的性能陷阱,例如写出效率低下的灾难性回溯。如果书中能包含一些关于不同正则表达式引擎(如PCRE、Python的re模块等)的特性和兼容性方面的介绍,并提供一些调试和测试正则表达式的实用技巧,那就更完美了。
最近迷上了写一些自动化脚本来处理日常工作中的重复性任务,特别是那些涉及到从大量的日志文件或者配置文件中提取关键信息的部分。这时候,一个强大而灵活的文本匹配工具就显得尤为重要,《正则指引(第2版)》这个名字正好点明了我的需求。我希望这本书能非常详细地讲解正则表达式的每一个组成部分,从最基本的字符、转义符、点号(.),到各种量词(*、+、?、{}),再到分组(())、选择符(|)、分组捕获和非捕获。我尤其希望它能用大量生动、贴近实际的例子来演示这些概念,而不是干巴巴的理论。比如,如何匹配一个IP地址,如何提取URL中的域名,或者如何找出文件中所有包含特定错误代码的行。我还会关注书中是否有关于如何构建能够处理各种边界情况和异常数据的正则表达式的技巧。此外,书中是否会提供一些在实际编程中常用的正则表达式函数或方法,以及如何将它们集成到我的脚本中?例如,如何在Python中使用re模块,或者在Shell脚本中利用grep命令。如果能有关于如何编写可读性强、易于调试的正则表达式的指导,那真是太棒了。
好书
好书
写得不错,就是笔误和印刷错误多了点
翻了前面的原理篇和后面的Java篇,之后看看openjdk里正则的单元测试 http://hg.openjdk.java.net/jdk9/jdk9/jdk/file/65464a307408/test/java/util/regex
好书