书籍详情
正则表达式经典实例(第2版)
作者:(美)Jan Goyvaerts,Steven Levithan 著; 郭耀,迟骋 译
出版社:人民邮电出版社
出版时间:2014-10-01
ISBN:9787115366603
定价:¥89.00
购买这本书可以去
内容简介
《正则表达式经典实例(第2版)》讲解了基于C#、Java、JavaScript、Perl、PHP、Python、Ruby和VB.NET等8种常用编程语言使用正则表达式的经典实例。书中提供了上百种可以在实战中使用的实例,帮助读者使用正则表达式来处理数据和文本。《正则表达式经典实例(第2版)》针对如何使用正则表达式来解决性能不佳、误报、漏报等常见的错误以及完成一些常见的任务,给出了基于C#、Java、JavaScript、Perl、PHP、Python、Ruby和VB.NET等编程语言的解决方案,旨在教会读者很多技巧以及避免特定语言的陷阱的方法,读者可以通过本书提供的实例解决方案库来解决实践中的复杂问题。《正则表达式经典实例(第2版)》适合对正则表达式感兴趣的软件开发人员和系统管理员阅读。
作者简介
Jan Goyvaerts运营着Just Great Software公司,他在这家公司设计和开发了多款非常流行的正则表达式软件。Steven Levithan是业界顶尖的JavaScript正则表达式专家,也是多个开源正则表达式工具的创建者。
目录
目 录
第1章 正则表达式简介 1
1.1 正则表达式的定义 1
1.2 使用正则表达式进行查找和替换 6
1.3 正则表达式工具 8
第2章 正则表达式的基本技能 27
2.1 匹配字面文本 28
2.2 匹配不可打印字符 30
2.3 匹配多个字符之一 33
2.4 匹配任意字符 37
2.5 匹配文本行起始和 或文本行结尾 40
2.6 匹配完整单词 44
2.7 Unicode码位、类别、区块和字母表 47
2.8 匹配多个选择分支之一 60
2.9 分组和捕获匹配中的子串 62
2.10 再次匹配先前匹配的文本 64
2.11 捕获和命名匹配子串 66
2.12 把正则表达式的一部分重复多次 70
2.13 选择最小或最大重复次数 73
2.14 消除不必要的回溯 76
2.15 避免失控重复 78
2.16 测试一个匹配,但不添加到整体匹配中 81
2.17 根据条件匹配两者之一 87
2.18 向正则表达式中添加注释 90
2.19 在替代文本中添加字面文本 92
2.20 在替代文本中添加正则匹配 94
2.21 把部分的正则匹配添加到替代文本中 95
2.22 把匹配上下文插入到替代文本中 99
第3章 使用正则表达式编程 100
3.1 在源代码中使用字面正则表达式 106
3.2 导入正则表达式函数库 112
3.3 创建正则表达式对象 114
3.4 设置正则表达式选项 120
3.5 检查是否可以在目标字符串中找到匹配 128
3.6 测试正则表达式能否完整匹配目标字符串 134
3.7 获取匹配文本 139
3.8 确定匹配的位置和长度 145
3.9 获取匹配文本的一部分 150
3.10 获取各次匹配的列表 157
3.11 遍历所有匹配 162
3.12 在过程代码中对匹配结果进行验证 169
3.13 在另一个匹配中查找匹配 172
3.14 替换所有匹配 177
3.15 使用匹配的子串来替换匹配 184
3.16 使用代码中生成的替代文本来替换匹配 188
3.17 替换另一个正则式匹配内的所有匹配 194
3.18 替换另一个正则式匹配之间的所有匹配 196
3.19 拆分字符串 202
3.20 拆分字符串,保留正则匹配 209
3.21 逐行查找 214
3.22 构造语法分析器 218
第4章 合法性验证和格式化 232
4.1 验证电子邮件地址 232
4.2 验证和格式化北美电话号码 238
4.3 验证国际电话号码 242
4.4 验证传统日期格式 245
4.5 排除效日期,精确验证传统日期格式 248
4.6 验证传统时间格式 254
4.7 验证ISO 8601格式的日期和时间 256
4.8 限制输入为字母数字字符 263
4.9 限制文本长度 266
4.10 限制文本中的行数 270
4.11 验证肯定响应 275
4.12 验证美国社会安全号码 276
4.13 验证ISBN号码 278
4.14 验证美国邮政编码 286
4.15 验证加拿大邮政编码 288
4.16 验证英国邮政编码 288
4.17 查找使用邮政信箱的地址 289
4.18 转换西方姓名格式 291
4.19 验证密码复杂度 295
4.20 验证信用卡号码 302
4.21 欧盟增值税代码 308
第5章 单词、文本行和特殊字符 315
5.1 查找特定单词 315
5.2 查找多个单词之一 318
5.3 查找相似单词 320
5.4 查找除某个单词之外的任意单词 324
5.5 查找后面不是某个特定单词的任意单词 326
5.6 查找前面不是某个特定单词的任意单词 327
5.7 查找临近单词 331
5.8 查找重复单词 337
5.9 删除重复的文本行 340
5.10 匹配包含某个单词的整行内容 344
5.11 匹配不包含某个单词的整行 346
5.12 删除前导和拖尾的空格 347
5.13 把重复的空白替换为单个空格 350
5.14 对正则表达式元字符进行转义 352
第6章 数字 357
6.1 整数 357
6.2 十六进制数 360
6.3 二进制数 363
6.4 八进制数 364
6.5 十进制数 365
6.6 删除前导0 366
6.7 特定范围之内的整数 368
6.8 特定范围之内的十六进制数 374
6.9 带分隔符的整数 376
6.10 浮点数 378
6.11 含有千位分隔符的数 380
6.12 给数添加千位分隔符 382
6.13 罗马数字 386
第7章 源代码和日志文件 390
7.1 关键字 390
7.2 标识符 393
7.3 数字常量 393
7.4 操作符 395
7.5 单行注释 396
7.6 多行注释 396
7.7 所有注释 398
7.8 字符串 399
7.9 包含转义符的字符串 402
7.10 字面正则表达式 403
7.11 嵌入文档 405
7.12 通用日志格式 407
7.13 组合日志格式 410
7.14 Web日志中报告的效链接 411
第8章 URL、路径和Internet地址 414
8.1 验证URL 414
8.2 全文中查找URL 417
8.3 全文中搜索引号内的URL 419
8.4 全文中搜索括号内的URL 420
8.5 把URL转变为链接 423
8.6 验证URN 424
8.7 验证通用URL 426
8.8 从URL中提取通信协议 431
8.9 从URL中提取用户名 433
8.10 从URL中提取主机名 434
8.11 从URL中提取端口号 436
8.12 从URL中提取路径 438
8.13 从URL中提取查询参数 441
8.14 从URL中提取片段标识符 443
8.15 验证域名 444
8.16 匹配IPv4地址 446
8.17 匹配IPv6地址 449
8.18 验证Windows路径 463
8.19 分解Windows路径 466
8.20 从Windows路径中提取盘符 470
8.21 从UNC路径中提取服务器和共享名 471
8.22 从Windows路径中提取文件夹名 472
8.23 从Windows路径中提取文件名 474
8.24 从Windows路径中提取文件扩展名 475
8.25 去除文件名中的非法字符 476
第9章 标记语言和数据格式 478
9.1 查找XML风格的标签 484
9.2 把标签替换为 499
9.3 删掉除和之外的所有XML风格标签 503
9.4 匹配XML名称 506
9.5 添加和
标签将纯文本转换为HTML 512
9.6 解码XML实体 515
9.7 在XML风格的标签中查找某个特定属性 518
9.8 向不包含cellspacing属性的标签中添加该属性 522
9.9 删除XML风格的注释 525
9.10 在XML风格的注释中查找单词 529
9.11 替换CSV文件中使用的分隔符 533
9.12 提取某个特定列中的CSV域 537
9.13 匹配INI段头 541
9.14 匹配INI段块 542
9.15 匹配INI名称-值对 543
第1章 正则表达式简介 1
1.1 正则表达式的定义 1
1.2 使用正则表达式进行查找和替换 6
1.3 正则表达式工具 8
第2章 正则表达式的基本技能 27
2.1 匹配字面文本 28
2.2 匹配不可打印字符 30
2.3 匹配多个字符之一 33
2.4 匹配任意字符 37
2.5 匹配文本行起始和 或文本行结尾 40
2.6 匹配完整单词 44
2.7 Unicode码位、类别、区块和字母表 47
2.8 匹配多个选择分支之一 60
2.9 分组和捕获匹配中的子串 62
2.10 再次匹配先前匹配的文本 64
2.11 捕获和命名匹配子串 66
2.12 把正则表达式的一部分重复多次 70
2.13 选择最小或最大重复次数 73
2.14 消除不必要的回溯 76
2.15 避免失控重复 78
2.16 测试一个匹配,但不添加到整体匹配中 81
2.17 根据条件匹配两者之一 87
2.18 向正则表达式中添加注释 90
2.19 在替代文本中添加字面文本 92
2.20 在替代文本中添加正则匹配 94
2.21 把部分的正则匹配添加到替代文本中 95
2.22 把匹配上下文插入到替代文本中 99
第3章 使用正则表达式编程 100
3.1 在源代码中使用字面正则表达式 106
3.2 导入正则表达式函数库 112
3.3 创建正则表达式对象 114
3.4 设置正则表达式选项 120
3.5 检查是否可以在目标字符串中找到匹配 128
3.6 测试正则表达式能否完整匹配目标字符串 134
3.7 获取匹配文本 139
3.8 确定匹配的位置和长度 145
3.9 获取匹配文本的一部分 150
3.10 获取各次匹配的列表 157
3.11 遍历所有匹配 162
3.12 在过程代码中对匹配结果进行验证 169
3.13 在另一个匹配中查找匹配 172
3.14 替换所有匹配 177
3.15 使用匹配的子串来替换匹配 184
3.16 使用代码中生成的替代文本来替换匹配 188
3.17 替换另一个正则式匹配内的所有匹配 194
3.18 替换另一个正则式匹配之间的所有匹配 196
3.19 拆分字符串 202
3.20 拆分字符串,保留正则匹配 209
3.21 逐行查找 214
3.22 构造语法分析器 218
第4章 合法性验证和格式化 232
4.1 验证电子邮件地址 232
4.2 验证和格式化北美电话号码 238
4.3 验证国际电话号码 242
4.4 验证传统日期格式 245
4.5 排除效日期,精确验证传统日期格式 248
4.6 验证传统时间格式 254
4.7 验证ISO 8601格式的日期和时间 256
4.8 限制输入为字母数字字符 263
4.9 限制文本长度 266
4.10 限制文本中的行数 270
4.11 验证肯定响应 275
4.12 验证美国社会安全号码 276
4.13 验证ISBN号码 278
4.14 验证美国邮政编码 286
4.15 验证加拿大邮政编码 288
4.16 验证英国邮政编码 288
4.17 查找使用邮政信箱的地址 289
4.18 转换西方姓名格式 291
4.19 验证密码复杂度 295
4.20 验证信用卡号码 302
4.21 欧盟增值税代码 308
第5章 单词、文本行和特殊字符 315
5.1 查找特定单词 315
5.2 查找多个单词之一 318
5.3 查找相似单词 320
5.4 查找除某个单词之外的任意单词 324
5.5 查找后面不是某个特定单词的任意单词 326
5.6 查找前面不是某个特定单词的任意单词 327
5.7 查找临近单词 331
5.8 查找重复单词 337
5.9 删除重复的文本行 340
5.10 匹配包含某个单词的整行内容 344
5.11 匹配不包含某个单词的整行 346
5.12 删除前导和拖尾的空格 347
5.13 把重复的空白替换为单个空格 350
5.14 对正则表达式元字符进行转义 352
第6章 数字 357
6.1 整数 357
6.2 十六进制数 360
6.3 二进制数 363
6.4 八进制数 364
6.5 十进制数 365
6.6 删除前导0 366
6.7 特定范围之内的整数 368
6.8 特定范围之内的十六进制数 374
6.9 带分隔符的整数 376
6.10 浮点数 378
6.11 含有千位分隔符的数 380
6.12 给数添加千位分隔符 382
6.13 罗马数字 386
第7章 源代码和日志文件 390
7.1 关键字 390
7.2 标识符 393
7.3 数字常量 393
7.4 操作符 395
7.5 单行注释 396
7.6 多行注释 396
7.7 所有注释 398
7.8 字符串 399
7.9 包含转义符的字符串 402
7.10 字面正则表达式 403
7.11 嵌入文档 405
7.12 通用日志格式 407
7.13 组合日志格式 410
7.14 Web日志中报告的效链接 411
第8章 URL、路径和Internet地址 414
8.1 验证URL 414
8.2 全文中查找URL 417
8.3 全文中搜索引号内的URL 419
8.4 全文中搜索括号内的URL 420
8.5 把URL转变为链接 423
8.6 验证URN 424
8.7 验证通用URL 426
8.8 从URL中提取通信协议 431
8.9 从URL中提取用户名 433
8.10 从URL中提取主机名 434
8.11 从URL中提取端口号 436
8.12 从URL中提取路径 438
8.13 从URL中提取查询参数 441
8.14 从URL中提取片段标识符 443
8.15 验证域名 444
8.16 匹配IPv4地址 446
8.17 匹配IPv6地址 449
8.18 验证Windows路径 463
8.19 分解Windows路径 466
8.20 从Windows路径中提取盘符 470
8.21 从UNC路径中提取服务器和共享名 471
8.22 从Windows路径中提取文件夹名 472
8.23 从Windows路径中提取文件名 474
8.24 从Windows路径中提取文件扩展名 475
8.25 去除文件名中的非法字符 476
第9章 标记语言和数据格式 478
9.1 查找XML风格的标签 484
9.2 把标签替换为 499
9.3 删掉除和之外的所有XML风格标签 503
9.4 匹配XML名称 506
9.5 添加和
标签将纯文本转换为HTML 512
9.6 解码XML实体 515
9.7 在XML风格的标签中查找某个特定属性 518
9.8 向不包含cellspacing属性的标签中添加该属性 522
9.9 删除XML风格的注释 525
9.10 在XML风格的注释中查找单词 529
9.11 替换CSV文件中使用的分隔符 533
9.12 提取某个特定列中的CSV域 537
9.13 匹配INI段头 541
9.14 匹配INI段块 542
9.15 匹配INI名称-值对 543
猜您喜欢