出版时间:2007 出版社:电子工业出版社 作者:Jeffrey E. F. Friedl 页数:515 译者:余晟
Tag标签:无
内容概要
随着互联网的迅速发展,几乎所有工具软件和程序语言都支持的正则表达式也变得越来越强大和易于使用。《精通正则表达式(第3版)》是讲解正则表达式的经典之作。《精通正则表达式(第3版)》主要讲解了正则表达式的特性和流派、匹配原理、优化原则、实用诀窍以及调校措施,并详细介绍了在Perl、Java、.NET、PHP中正则表达式的用法。 《精通正则表达式(第3版)》自第1版开始着力于教会读者 “以正则表达式来思考”,来让读者真正“精通”正则表达式。该版对PHP的相关内容、Java1.5和Java1.6的新特性作了可观的扩充讲解。任何有机会使用正则表达式的读者都将因《精通正则表达式(第3版)》而受益匪浅。
作者简介
Jeffrey E.F.Friedl生长于俄亥俄州Rootstown的乡村,小时候希望成为天文学家,直到有一天他发现了闲置在化学实验室角落里的TRS-80 Model I(装备了整整16KB RAM)。1980年他终于开始使用Unix(和正则表达式)。在肯特(Kent)大学和新罕布什尔(New Hampshire)大学分别获得计算机学士和硕士学位之后,他在日本京都工作了8年,为欧姆龙公司(Omron Corporation)进行核心开发,1997年迁居硅谷,在当时还不为人知的Yahoo!用正则表达式处理财经新闻和数据。2004年4月他偕妻儿返回京都。 Friedl的闲暇时间很充裕,这时候他喜欢与妻子Fumie和3岁的活蹦乱跳的儿子Anthony一起。他还喜欢拍摄遍布京都的美景,照片在他的。
书籍目录
前言第1章正则表达式入门解决实际问题作为编程语言的正则表达式以文件名做类比以语言做类比正则表达式的思维框架对于有部分经验的读者检索文本文件:EgrepEgrep元字符行的起始和结束字符组用点号匹配任意字符多选结构忽略大小写单词分界符小结可选项元素其他量词:重复出现括号及反向引用神奇的转义基础知识拓展语言的差异正则表达式的目标更多的例子正则表达式术语汇总改进现状总结一家之言第2章入门示例拓展关于这些例子Perl简单入门使用正则表达式匹配文本向实用的程序前进成功匹配的副作用错综复杂的正则表达式暂停片刻使用正则表达式修改文本例子:公函生成程序举例:修整股票价格自动的编辑操作处理邮件的小工具用环视功能为数值添加逗号Text-to-HTML转换回到单词重复问题第3章正则表达式的特性和流派概览在正则的世界中漫步正则表达式的起源最初印象正则表达式的注意事项和处理方式集成式处理程序式处理和面向对象式处理查找和替换其他语言中的查找和替换注意事项和处理方式:小结字符串,字符编码和匹配模式作为正则表达式的字符串字符编码Unicode正则模式和匹配模式常用的元字符和特性字符表示法字符组及相关结构锚点及其他“零长度断言”注释和模式量词分组,捕获,条件判断和控制高级话题引导第4章:表达式的匹配原理发动引擎两类引擎新的标准正则引擎的分类几句题外话测试引擎的类型匹配的基础关于范例规则1:优先选择最左端的匹配结果引擎的构造规则2:标准量词是匹配优先的表达式主导与文本主导NFA引擎:表达式主导DFA引擎:文本主导第一想法:比较NFA与DFA回溯真实世界中的例子:面包屑回溯的两个要点备用状态回溯与匹配优先关于匹配优先和回溯的更多内容匹配优先的问题多字符“引文”使用忽略优先量词匹配优先和忽略优先都期望获得匹配匹配优先、忽略优先和回溯的要旨占有优先量词和固化分组占有优先量词,?+、*+、++和{m,n}+环视的回溯多选结构也是匹配优先的吗发掘有序多选结构的价值NFA、DFA和POSIX最左最长规则POSIX和最左最长规则速度和效率小结:NFA与DFA的比较总结第5章:正则表达式实用技巧正则表达式的平衡法则若干简单的例子匹配连续行(续前)匹配IP地址处理文件名匹配对称的括号防备不期望的匹配匹配分隔符之内的文本了解数据,做出假设去除文本首尾的空白字符HTML相关范例匹配HTMLTag匹配HTMLLink检查HTTPURL验证主机名在真实世界中提取URL扩展的例子保持数据的协调性解析CSV文件第6章:打造高效正则表达式典型示例稍加修改——先迈最好使的腿效率vs准确性继续前进——限制匹配优先的作用范围实测全面考查回溯POSIXNFA需要更多处理无法匹配时必须进行的工作看清楚一点多选结构的代价可能很高性能测试理解测量对象PHP测试Java测试VB.NET测试Ruby测试Python测试Tcl测试常见优化措施有得必有失优化各有不同正则表达式的应用原理应用之前的优化措施通过传动装置进行优化优化正则表达式本身提高表达式速度的诀窍常识性优化将文字文本独立出来将锚点独立出来忽略优先还是匹配优先?具体情况具体分析拆分正则表达式模拟开头字符识别使用固化分组和占有优先量词主导引擎的匹配消除循环方法1:依据经验构建正则表达式真正的“消除循环”解法方法2:自顶向下的视角方法3:匹配主机名观察使用固化分组和占有优先量词简单的消除循环的例子消除C语言注释匹配的循环流畅运转的表达式引导匹配的工具引导良好的正则表达式速度很快完工总结:开动你的大脑第7章:Perl作为语言组件的正则表达式Perl的长处Perl的短处Perl的正则流派正则运算符和正则文字正则文字的解析方式正则修饰符正则表达式相关的Perl教义表达式应用场合动态作用域及正则匹配效应匹配修改的特殊变量qr//运算符与regex对象构建和使用regex对象探究regex对象用regex对象提高效率Match运算符Match的正则运算元指定目标运算元Match运算符的不同用途迭代匹配:ScalarContext,不使用/gMatch运算符与环境的关系Substitution运算符运算元replacement/e修饰符应用场合与返回值Split运算符Split基础知识返回空元素Split中的特殊Regex运算元Split中带捕获型括号的match运算元巧用Perl的专有特性用动态正则表达式结构匹配嵌套结构使用内嵌代码结构在内嵌代码结构中使用local函数关于内嵌代码和my变量的忠告使用内嵌代码匹配嵌套结构正则文字重载正则文字重载的问题模拟命名捕获效率办法不只一种表达式编译、/o修饰符、qr/···/和效率理解“原文”副本Study函数性能测试正则表达式调试信息结语第8章:JavaJava的正则流派Java对\p{}和\P{}的支持Unicode行终结符使用java.util.regexThePattern.compile()FactoryPattern的matcher方法Matcher对象应用正则表达式查询匹配结果简单查找-替换高级查找-替换原地查找-替换Matcher的检索范围方法链构建扫描程序Matcher的其他方法Pattern的其他方法Pattern的split方法,单个参数Pattern的split方法,两个参数拓展示例为ImageTag添加宽度和高度属性对于每个Matcher,使用多个Pattern校验HTML解析CSV文档Java版本差异1.4.2 和1.5.0之间的差异1.5.0和1.6 之间的差异第9章:.NET.NET的正则流派对于流派的补充使用.NET正则表达式正则表达式快速入门包概览核心对象概览核心对象详解创建Regex对象使用Regex对象使用Match对象使用Group对象静态“便捷”函数正则表达式缓存辅助函数.NET高级话题正则表达式装配件匹配嵌套结构Capture对象第10章:PHPPHP的正则流派Preg函数接口“Pattern”参数Preg函数罗列preg_matchpreg_match_allpreg_replacepreg_replace_callbackpreg_splitpreg_greppreg_quote“缺失”的preg函数preg_regex_to_pattern对未知的Pattern参数进行语法检查对未知正则表达式进行语法检查递归的正则表达式匹配嵌套括号内的文本不能回溯到递归调用之内匹配一组嵌套的括号PHP效率模式修饰符S:“研究”扩展示例用PHP解析CSV检查taggeddata的嵌套正确性索引
媒体关注与评论
“如果你的工作需要用到正则表达式(即便你已经有本很不错的关于开发语言的书),我还是要向你强烈推荐本书。” ——Dr.Chris Brown.Linux FOrmat “毫不夸张地说,《精通正则表达式(第3版)》是学习该工具的不二选择,也是每个程序员必备的杰作。” ——JasOn Menard.JaVa Ranch “所有关于正则表达式的书中,找不到比这更好的了。” ——Zak Greant.Planet PHP
编辑推荐
《精通正则表达式(第3版)》讲解正则表达式,这种工具能够提高工作效率、让生活变得更轻松。精心调校后的正则表达式只需要十多秒就能完成以前数小时才能完成的枯燥任务。如今,正则表达式已经成为众多语言及工具——Perl、PHP、Java、Python、Ruby、MysQL、VB.NET和c#(以及.NETFramework中的任何语言)——中的标准特性,依靠它,你能以之前完全不敢设想的方式进行复杂而精巧的文本处理。十年三版,再显王者风范,近30年开发经验的智慧结晶,深入理解正则表达式,彻底修炼基本功,全球第一本全面深入讲解正则表达式的经典巨著,《程序员》杂志技术主编孟岩鼎力推荐。 专家点评:《精通正则表达式》是系统学习正则表达式的唯一最权威著作。任何时候,任何地方,只要提到正则表达式著作,人们都会提到这本书。该书质量之高,声誉之盛,使得几乎没有人企图挑战它的地位,从而在正则表达式图书领域形成了独特的“一夫当关”的局面,称其为正则表达式圣经,绝对当之无愧。 ——《程序员》杂志技术主编孟岩 《精通正则表达式(第3版)》包含了对PHP及其正则表达式的讲解。这一版的更新也反映了其他语言的发展,深入讲解了Sun的java.util.regex,并特别提到了Java1.4.2和Java1.5/1.6之间的众多差异。 本书的内容: ·各种语言和工具的功能比较 ·正则引擎的工作原理 ·优化(能节省大量的时间) ·准确匹配期望的文本 ·针对具体语言的章节 《精通正则表达式(第3版)》,以明晰轻松的笔调向程序员深入浅出地讲解复杂的知识,并给出了现实世界中复杂问题的解决办法,读者能够立刻运用书中丰富的知识,巧妙而高效地解决各种问题。
图书封面
图书标签Tags
无
评论、评分、阅读与下载