Mastering Regular Expressions,3rd
接着,再看看我根据英文目录试译的中文目录:
前言
第 1 章 正则表达式简介
解决真实的问题
作为语言的正则表达式
文件名类比
语言类比
正则表达式之旅
如果你有一些正则表达式经验
搜索文本文件:Egrep
Egrep 元字符
行的开始和结束
字符类
通过点匹配任意字符
交替选择
忽略大小写
词边界
小结
可选的项目
其他限定符:重复
圆括号和反向引用
有效地转义
扩宽视野
语言上的差异
正则表达式的目标
再举几个例子
正则表达式术语
与时俱进
总结
作者观点
第 2 章 扩展性的例子
有关这些例子
Perl 的简明介绍
使用正则表达式匹配文本
更贴近现实的例子
成功匹配的负作用
复杂的正则表达式
稍息
使用正则表达式修改文本
例子:套用信函
例子:修整股市行情
自动编辑
小型邮件实用程序
通过定向查找为数字添加逗号
文本到 HTML 的转换
重复单词的问题
第 3 章 正则表达式的特性和风格概览
漫话 Regex
正则表达式源起
第一印象
正则表达式的问题及处理
综合处理
编程及面向对象处理
搜索替换的例子
其他语言中的搜索和替换
问题及处理:总结
字符串、字符编码和模式(Modes)
以字符串作为正则表达式
字符编码的问题
Unicode
Regex 模式(Modes)和匹配模式(Modes)
常见的元字符及其含义
如何表示字符
字符类及相似的结构
锚点及其他“零宽度断言”
注释和模式(Mode)修饰符
组、捕获、条件及控制
向高级内容过渡
第 4 章 正则表达式处理机制
发动引擎!
两种类型的引擎
新标准
Regex 引擎类型
From the Department of Redundancy Department
测试引擎类型
匹配基础
关于例子的说明
规则 1:最先开始的位置优先匹配
引擎的构造
规则 2:标准的限定符是贪婪的
Regex 主导与 Text 主导
NFA 引擎:Regex 主导
DFA 引擎:Text 主导
First Thoughts: NFA and DFA in Comparison
回溯
鲜活的例子
有关回溯的两个重要问题
被保留的状态
回溯与贪婪
再谈回溯与贪婪
贪婪性问题
多字符“引用”
使用懒惰限定符
贪婪和懒惰都想要匹配
贪婪、懒惰与回溯的本质
占有式限定符与原子组
占有式限定符 ?+、++、++ 和 {m,n}+
定向查找中的回溯
交替选择贪婪吗?
利用有序的交替选择
NFA、 DFA 和 POSIX
“最长最左”
POSIX 与最长最左规则
速度和效率
结论:NFA 与 DFA 比较
总结
第 5 章 实用的 Regex 技术
Regex 的平衡
几个小例子
连续多行
匹配 IP 地址
处理文件名
匹配对称的圆括号
避免不想要的匹配
匹配被定界的文本
了解数据并假设
删除前置和尾随的空白符
与 HTML 相关的例子
匹配 HTML 标签
匹配 HTML 链接
检查 HTTP URL
验证域名
在真实的应用中提取 URL
扩展的例子
与数据保持同步
解析 CSV 文件
第 6 章 编制有效的正则表达式
典型的例子
简单的变化--使出你的绝招
效率与准确
更上一层楼--贪婪的局部化
实际检测
全面理解回溯
POSIX NFA 的额外工作
对于非匹配项的必要处理
再具体一些
交替选择占用资源
性能测试
了解测试对象
测试 PHP
测试 Java
测试 VB.NET
测试 Ruby
测试 Python
测试 Tcl
常用优化技术
“没有免费的午餐”
满足自己的需要
Regex 应用机制
预先应用优化
优化传输
优化 Regex 自身
加速正则表达式
常用技术
使用文本直接量
使用锚点
懒惰还是贪婪:视情况而定
拆分正则表达式
模仿首字符识别
使用原子组和占有式限定符
引导引擎匹配
解除循环
方法 1:根据经验构建正则表达式
真正“解除循环”的模式
方法 2:全局视角
方法 3:互联网主机名
观察
使用原子组和占有式限定符
解除循环的简单例子
解除 C 注释的循环
流畅的 Regex
引导匹配的得力助手
引导良好的 Regex 速度快
结束
总结:发挥想像力!
第 7 章 Perl 中的正则表达式
作为语言组件的正则表达式
Perl 最大的优点
Perl 最大的不足
Perl 的 Regex 风格
Regex 操作数和 Regex 直接量
如何解析 Regex 直接量
Regex 修饰符
Regex-Related Perlisms
表达环境
动态作用域和 Regex 匹配效果
匹配修改的特定变量
qr/……˙/ 操作符和 Regex 对象
构建并使用 Regex 对象
观察 Regex 对象
有效地使用 Regex 对象
匹配操作符
匹配的 Regex 操作数
指定匹配目标操作数
匹配操作符的不同用法
遍历匹配:带 /g 的标量环境
匹配操作符的环境关系
替代操作
替换操作数
/e 修饰符
环境与返回值
拆分操作符
基本拆分
返回空元素
拆分的专用 Regex 操作数
带有捕获圆括号的拆分匹配操作数
享受 Perl 增强的功能
使用动态 Regex 匹配嵌套的结构
使用嵌入式代码结构
使用嵌入式代码结构中使用 local
有关嵌入式代码和 my 变量的提示
使用嵌入式代码匹配嵌套的结构
重载 Regex 直接量
Regex 直接量重载的问题
模仿命名的捕获
Perl 的效率问题
“条条大路通罗马”
Regex 编译中的 /o 修饰符、qr/……/ 与效率
理解“预匹配(Pre-Match)”副本
使用 Study 函数
性能测试
Regex 调试信息
结束语
第 8 章 Java 中的正则表达式
Java 的正则表达式风格
Java 支持 \p{……} 和 \P{……}
Unicode 行终止符
使用 java.util.regex 包
Pattern.compile() 工厂方法
Pattern 类的 matcher 方法
Matcher 对象
应用 Regex
查询匹配的结果
简单的搜索和替换
高级的搜索和替换
适当的搜索和替换
Matcher 对象的匹配范围
Method 链
构建扫描程序的方法
其他 Matcher 对象的方法
其他 Pattern 类的方法
Pattern 类拆分方法:一个参数
Pattern 类拆分方法:两个参数
更多例子
为图像标签添加宽度和高度属性
用带多个模式的 Matcher 对象验证 HTML
解析逗号分隔的数据(CSV)
Java 版本间的差异
Java 1.4.2 与 1.5.0 的差异
Java 1.5.0 与 1.6 的差异
第 9 章 .NET中的正则表达式
.NET 的 Regex 风格
有关风格的更多说明
在 .NET 中使用正则表达式
.NET 中的 Regex 入门
包简介
核心对象简介
深入理解核心对象
创建 Regex 对象
使用 Regex 对象
使用 Match 对象
使用 Group 对象
静态的“便利”函数
Regex 缓存
支持函数
高级 .NET 正则表达式特性
Regex 程序集
匹配嵌套的结构
Capture 对象
第 10 章 PHP 中的正则表达式
PHP 的 Regex 风格
Preg 函数接口
“模式” 参数
Preg 函数族
preg_match 函数
preg_matchRall 函数
preg_replace 函数
preg_replaceRcallback 函数
preg_split 函数
preg_grep 函数
preg_quote 函数
“遗漏的” Preg 函数
preg_regex_to_pattern 函数
对未知模式参数进行语法检查
对未知 Regex 进行语法检查
递归的表达式
用嵌套的圆括号匹配文本
不要在递归中使用回溯
匹配一组嵌套的圆括号
PHP 正则表达式的效率问题
S 模式修饰符:“Study”
扩展的例子
PHP 解析 CSV 数据
检测带标签的数据是否有效嵌套
索引
[…] 原来已经有细心热心(同时也在翻译正则表达式相关的书籍) 的朋友,对比了网上已经公布的《精通正则表达式》的片段,细细列出原文、我的译文和他的译文,并指出多处漏排和一处错译,另提出若干商榷之处。 […]
Thank you for sharing!