正则表达式必知必会

正则表达式必知必会
编辑推荐
适读人群 :本书适合各种语言和平台的开发人员阅读。
作为一种威力无比强大的武器,正则表达式可以在几乎所有语言和平台上执行各种复杂的文本处理和操作。
- 阅读并理解正则表达式
- 使用字面文本和元字符来构建强大的搜索模式
- 利用向前查看和反向引用等高级正则表达式特性
- 在所有主流的专业编辑工具中执行强大的搜索和替换操作
- 为 Web 应用程序添加复杂的表单和文本处理
- 使用 grep 和 egrep 等命令行工具搜索文件
- 在编程语言和数据库中使用正则表达式
- 电话号码、IP 地址、URL、电子邮件地址等常见问题的正则表达式解决方案
内容简介
正则表达式是一种威力无比强大的武器,几乎在所有的语言和平台上都可以用它来执行各种复杂的文本处理和操作。本书从简单的文本匹配开始,循序渐进地介绍了很多复杂内容,包括反向引用、条件评估、环视等。每章都配有许多简明实用的示例,有助于全面、系统、快速掌握正则表达式,并运用它们解决实际问题。
作者简介
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