搜索
高级检索
高级搜索
书       名 :
著       者 :
出  版  社 :
I  S  B  N:
文献来源:
出版时间 :
正则指引
0.00    
图书来源: 浙江图书馆(由图书馆配书)
  • 配送范围:
    全国(除港澳台地区)
  • ISBN:
    9787121351303
  • 作      者:
    余晟著
  • 出 版 社 :
    电子工业出版社
  • 出版日期:
    2018
收藏
编辑推荐

√ 来自真实场景与高频问题的妙用法门

√ 覆盖所有主流编程语言及其版本差异

√ 源代码及文本数据处理走向高效之路

√ 贯通编码问题→匹配原理→解题思路

√ 适用日志分析|网络运维|自动化测试

√ 深入原理结构差异以利现成成果移植

展开
作者简介

余晟,非正统型技术爱好者,有多年研发经验,目前在在线教育行业从事研发与架构管理的工作。在强调技术追求的同时,倡导全面、完整的技术路线和技术文化,业余写作、翻译、审校了若干技术图书。个人公众号为“余晟以为”(yurii-says)。

展开
内容介绍

《正则指引(第2版)》综合作者自己遇到的实际问题,以及其他开发人员咨询的问题,总结出一套巧妙运用正则表达式的办法,并通过具体的例子指导读者拆解、分析问题。《正则指引(第2版)》分为三部分:第一部分主要讲解正则表达式的基础知识,涵盖了正则表达式中常见的各种功能和结构;第二部分主要讲解关于正则表达式的更深入的知识,详细探讨了编码问题、匹配原理、解题思路;第三部分将之前介绍的各种知识落实到常用语言.NET、Java、JavaScript、PHP、Python、Ruby、Objective-C、Golang中,在详细介绍了在这些语言中正则表达式的具体用法之外,还辨析了版本之间的细微差异。《正则指引(第2版)》既可以作为专门的学习用书,也可以作为备查的参考手册。

展开
精彩书评

  掌握正则表达式应该是IT工程师的一项标准技能,遗憾的是,过去,不少人多多少少忽视了这一点,所以在工作中总要应对正则表达式带来的“麻烦”。
  我相信只有掌握并熟练运用它才有可能成为一名高效的工程师。期待每个人手边都有一本正则表达式的参考书,当然,希望就是你现在看到的这本。
  就在写这句话的几分钟前,我又从这本书中学到了一个有用的技巧。
  ——冯大辉

  配合恰当的案例,大量的反问,使读者自问、思考,扣人心扉,比较有代入感,加上配图,很容易让读者全面认识正则表达式。在原理讲解的章节,对比两种理论模型的区别,顺其自然地引入NFA引擎的关键要素一回朔,使读者从匹配原理上了解回溯,从而写出高效、严谨的正则表达式。
  ——陈驰

  本书由浅入深地讲述了正则表达式,在正则表达式的应用和调优方面有非常详细的介绍,特别是在正则表达式处理中文方面有独到的阐述,对于需要经常处理中文的国内技术人员来说,本书无疑是非常值得拥有的一-本手册。
  ——贺钧

  正则表达式是程序员的必备知识。如果您还没有使用过这个强大的工具,或者学习正则表达式总不得要领,建议读读本书。
  ——何源

  这是一本通俗版的《精通正则表达式》。高手很难挑出毛病,一般程序员会受益匪浅,普通用户一步步读下去也能登堂入室。
  ——张东亮

  余晟在之前翻译业内名着的基础上,结合中文环境和自己的丰富经验,再接再厉推出自己的作品,实在是我等码农的一大幸事。
  ——陈钢

展开
目录

第一部分 

第1章  字符组 .................2 

1.1  普通字符组 ............. 2 

1.2  关于Python的基础知识........................... 4 

1.3  普通字符组(续) . 6 

1.4  元字符与转义 ......... 8 

1.5  排除型字符组 ....... 10 

1.6  字符组简记法 ....... 12 

1.7  字符组运算 ........... 14 

1.8  POSIX字符组 ...... 15 

第2章  量词 ...................17 

2.1  一般形式 ............... 17 

2.2  常用量词 ............... 19 

2.3  数据提取 ............... 21 

2.4  点号....................... 23 

2.5  滥用点号的问题 ... 23 

2.6  忽略优先量词 ....... 26 

2.7  转义....................... 31 

第3章  括号 ...................33 

3.1  分组....................... 33 

3.2  多选结构 ............... 39 

3.3  引用分组 ............... 44 

3.3.1  反向引用... 48 

3.3.2  各种引用的记法 .......................... 50 

3.3.3  命名分组... 53 

3.4  非捕获分组 ........... 55 

3.5  补充....................... 56 

3.5.1  转义 .......... 56 

3.5.2  URL Rewrite ................................ 56 

3.5.3  一个例子... 58 

第4章  断言 ...................60 

4.1  单词边界 ............... 60 

4.2  行起始/结束位置 .. 62 

4.3  环视....................... 69 

4.4  补充....................... 75 

4.4.1  环视的价值 .................................. 75 

4.4.2  环视与分组编号 .......................... 76 

4.4.3  环视的支持程度 .......................... 77 

4.4.4  环视的组合 .................................. 79 

4.4.5  断言和反向引用之间的关系 ...... 81 

4.4.6  逆序环视的诡异之处 .................. 81 

第5章  匹配模式 ............83 

5.1  不区分大小写模式与模式的指定方式 .. 83 

5.2  单行模式 ............... 86 

5.3  多行模式 ............... 87 

5.4  注释模式 ............... 89 

5.5  补充....................... 91 

5.5.1  更多的模式 .................................. 91 

5.5.2  修饰符的作用范围 ...................... 91 

5.5.3  失效修饰符 .................................. 92 

5.5.4  模式与反向引用 .......................... 93 

5.5.5  冲突策略... 93 

5.5.6  哪种方式更好 .............................. 94 

第6章  其他 ...................95 

6.1  转义....................... 95 

6.1.1  字符串转义与正则转义 .............. 95 

6.1.2  元字符的转义 .............................. 99 

6.1.3  彻底消除元字符的特殊含义 .... 101 6.1.4  字符组中的转义 ........................ 103 

6.2  正则表达式的处理形式 ........................ 103 

6.2.1  函数式处理 ................................ 104 

6.2.2  面向对象式处理 ........................ 104 

6.2.3  比较 ........ 105 

6.2.4  线程安全性 ................................ 106 

6.3  表达式中的优先级 ................................ 108 

6.4  回车和换行 ......... 109 

 

第二部分 

第7章  Unicode ...........112 

7.1  基础知识 ............. 112 

7.2  关于编码 ............. 115 

7.3  尽量使用Unicode编码 ........................ 116 

7.4  Unicode与字符组简记法 ..................... 120 

7.5  规范化问题 ......... 122 

7.6  单词边界 ............. 123 

7.7  码值转义序列 ..... 125 

7.8  Unicode属性 ...... 127 

7.8.1  Unicode Property ....................... 128 

7.8.2  Unicode Block ........................... 128 

7.8.3  Unicode Script ........................... 129 

7.9  Unicode属性列表 ................................. 130 

7.9.1  Unicode Property ....................... 130 

7.9.2  Unicode Block ........................... 131 

7.9.3  Unicode Script ........................... 135 

7.10  POSIX字符组 .. 135 

7.11  Emoji ................. 136 

第8章  匹配原理 ..........138 

8.1  有穷自动机 ......... 138 

8.2  正则表达式的匹配过程 ........................ 139 

8.3  回溯..................... 142 

8.4  NFA和DFA ....... 144 第9章  常见问题的解决思路 ...........................146 

9.1  关于元素的三种逻辑 ............................ 146 

9.1.1  必须出现. 147 

9.1.2  可能出现. 147 

9.1.3  不能出现. 148 

9.2  正则表达式的常见操作 ........................ 150 

9.2.1  提取 ........ 150 

9.2.2  验证 ........ 156 

9.2.3  替换 ........ 160 

9.2.4  切分 ........ 165 

9.3  正则表达式的优化建议 ........................ 167 

9.3.1  使用缓存. 167 

9.3.2  尽量准确地表达意图 ................ 168 

9.3.3  避免重复匹配 ............................ 168 

9.3.4  独立出文本和锚点 .................... 169 

9.4  别过分依赖正则表达式 ........................ 170 

9.4.1  彻底放弃字符串操作 ................ 170 

9.4.2  思维定式. 171 

9.4.3  正则表达式可以匹配各种文本  172 

9.4.4  滥用正则表达式 ........................ 173 

 

第三部分 

第10章  .NET ..............176 

10.1  预备知识 ........... 176 

10.2  正则功能详解 ... 177 

10.2.1  列表 .... 177 

10.2.2  字符组  178 

10.2.3  Unicode属性 ......................... 178 

10.2.4  字符组简记法........................ 179 

10.2.5  单词边界 ............................... 179 

10.2.6  行起始/结束位置 ..............


展开
加入书架成功!
收藏图书成功!
我知道了(3)
发表书评
读者登录

请选择您读者所在的图书馆

选择图书馆
浙江图书馆
点击获取验证码
登录
没有读者证?在线办证