正则表达式是一种威力无比强大的武器,几乎在所有的语言和平台上都可以用它来执行各种复杂的文本处理和操作。本书从简单的文本匹配开始,循序渐进地介绍了很多复杂内容,包括反向引用、条件评估、环视等。每章都配有许多简明实用的示例,有助于全面、系统、快速掌握正则表达式,并运用它们解决实际问题。
Ben Forta,技术作家,Adobe技术界知名学者,拥有三十多年计算机领域从业经验,目前担任Adobe公司教育计划高级主管。他撰写的《SQL必知必会》《MySQL必知必会》等书因短小精悍、可快速入手而备受读者好评,已被翻译为十几种文字,成为经典畅销书。【主要译者】门佳,GNU/Linux深度用户,喜欢溯本求源,挖掘技术背后的来龙去脉,对程序语言设计理论、编译技术、操作系统设计与实现、Web开发等领域均有涉猎,译著包括《TCP Sockets编程》《精通JavaScript(第2版)》《Linux命令行与shell脚本编程大全(第3版)》《Linux Shell脚本攻略》《shell脚本实战(第2版)》等。
第 1 章 正则表达式入门 1
1.1 正则表达式的用途 1
1.2 如何使用正则表达式 2
1.2.1 用正则表达式进行搜索 3
1.2.2 用正则表达式进行替换 3
1.3 什么是正则表达式 4
1.4 使用正则表达式 5
1.5 在继续学习之前 5
1.6 小结 6
第 2 章 匹配单个字符 7
2.1 匹配普通文本 7
2.1.1 有多少个匹配结果 8
2.1.2 字母的大小写问题 9
2.2 匹配任意字符 9
2.3 匹配特殊字符 13
2.4 小结 15
第 3 章 匹配一组字符
3.1 匹配多个字符中的某一个 16
3.2 利用字符集合区间 19
3.3 排除 23
3.4 小结 24
第 4 章 使用元字符 25
4.1 再谈转义 25
4.2 匹配空白字符 28
4.3 匹配特定的字符类型 30
4.3.1 匹配数字(与非数字) 30
4.3.2 匹配字母数字(与非字母数字) 31
4.3.3 匹配空白字符(与非空白字符) 33
4.3.4 匹配十六进制或八进制数值 33
4.4 使用POSIX字符类 34
4.5 小结 36
第 5 章 重复匹配 37
5.1 有多少个匹配 37
5.1.1 匹配一个或多个字符 38
5.1.2 匹配零个或多个字符 41
5.1.3 匹配零个或一个字符 42
5.2 匹配的重复次数 44
5.2.1 具体的重复匹配 45
5.2.2 区间范围 46
5.2.3 匹配“至少重复多少次” 48
5.3 防止过度匹配 49
5.4 小结 51
第 6 章 位置匹配 52
6.1 边界 52
6.2 单词边界 53
6.3 字符串边界 55
6.4 小结 60
第 7 章 使用子表达式 61
7.1 理解子表达式 61
7.2 使用子表达式进行分组 62
7.3 子表达式的嵌套 66
7.4 小结 68
第 8 章 反向引用 69
8.1 理解反向引用 69
8.2 反向引用匹配 72
8.3 替换操作 75
8.4 小结 79
第 9 章 环视 80
9.1 环视简介 80
9.2 向前查看 81
9.3 向后查看 83
9.4 结合向前查看和向后查看 86
9.5 否定式环视 86
9.6 小结 89
第 10 章 嵌入式条件 90
10.1 为什么要嵌入条件 90
10.2 正则表达式里的条件 91
10.2.1 反向引用条件 91
10.2.2 环视条件 94
10.3 小结 96
第 11 章 常见问题的正则表达式解决方案 97
11.1 北美电话号码 97
11.2 美国ZIP编码 99
11.3 加拿大邮政编码 100
11.4 英国邮政编码 101
11.5 美国社会安全号码 102
11.6 IP地址 103
11.7 URL 103
11.8 完整的URL 105
11.9 电子邮件地址 106
11.10 HTML注释 106
11.11 JavaScript注释 107
11.12 信用卡号码 108
11.13 小结 113
附录 A 常见应用软件和编程语言中的正则表达式 114
正则表达式必知必会(修订版)pdf