正则表达式是一种威力无比强大的武器,几乎在所有的语言和平台上都可以用它来执行各种复杂的文本处理和操作。本书从简单的文本匹配开始,循序渐进地介绍了很多复杂内容,包括反向引用、条件评估、环视等。每章都配有许多简明实用的示例,有助于全面、系统、快速掌握正则表达式,并运用它们解决实际问题。
作为一种威力无比强大的武器,正则表达式可以在几乎所有语言和平台上执行各种复杂的文本处理和操作。
●阅读并理解正则表达式
●使用字面文本和元字符来构建强大的搜索模式
●利用向前查看和反向引用等高级正则表达式特性
●在所有主流的专业编辑工具中执行强大的搜索和替换操作
●为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
......(更多)
正则表达式是一些用来匹配和处理文本的字符。也称作模式(pattern)。
字符区间的首、尾字符可以是ASCII字符表里的任意字符。但在实际工作中,最常用的字符区间还是数字字符区间和字母字符区间。
.只能匹配除换行符以外的任何单个字符。
......(更多)