当前位置:主页 > 计算机电子书 > Web前端 > 正则表达式下载
正则指引

正则指引 PDF 完整高清版

  • 更新:2021-06-10
  • 大小:32.09MB
  • 类别:正则表达式
  • 作者:余晟
  • 出版:电子工业出版社
  • 格式:PDF

  • 资源介绍
  • 相关推荐

本书针对作者在开发中遇到的实际问题,以及其他开发人员咨询的问题,总结出一套使用正则表达式解题的办法,并通过具体的例子指导读者拆解、分析问题。全书分为三大部分:第一部分主要讲解正则表达式的基础知识,涵盖了常见正则表达式中的各种功能和结构;第二部分主要讲解关于正则表达式的更深入的知识,详细探讨了编码问题、匹配原理、解题思路;第三部分将之前介绍的各种知识落实到6种常用语言.NET、Java、JavaScript、PHP、Python、Ruby中,不但详细介绍了语言中正则表达式的用法,更点明了版本之间的细微差异,既可以作为专门学习的教材,也可以作为有用的参考手册。本书适合经常需要进行文本处理(比如日志分析或网络运维)的技术人员、熟悉常用开发语言的程序员,以及已经对正则表达式有一定了解的读者阅读。

目录

  • 第 一 部 分
  • 第1章 字符组 2
  • 1.1 普通字符组 2
  • 1.2 关于Python的基础知识 4
  • 1.3 普通字符组(续) 6
  • 1.4 元字符与转义 8
  • 1.5 排除型字符组 10
  • 1.6 字符组简记法 12
  • 1.7 字符组运算 14
  • 1.8 POSIX字符组 15
  • 第2章 量词 17
  • 2.1 一般形式 17
  • 2.2 常用量词 18
  • 2.3 数据提取 21
  • 2.4 点号 23
  • 2.5 滥用点号的问题 23
  • 2.6 忽略优先量词 26
  • 2.7 转义 31
  • 第3章 括号 33
  • 3.1 分组 33
  • 3.2 多选结构 39
  • 3.3 引用分组 44
  • 3.3.1 反向引用 48
  • 3.3.2 各种引用的记法 50
  • 3.3.3 命名分组 53
  • 3.4 非捕获分组 54
  • 3.5 补充 55
  • 3.5.1 转义 55
  • 3.5.2 URL Rewrite 56
  • 3.5.3 一个例子 58
  • 第4章 断言 59
  • 4.1 单词边界 59
  • 4.2 行起始/结束位置 61
  • 4.3 环视 68
  • 4.4 补充 74
  • 4.4.1 环视的价值 74
  • 4.4.2 环视与分组编号 74
  • 4.4.3 环视的支持程度 75
  • 4.4.4 环视的组合 77
  • 4.4.5 断言和反向引用之间的关系 79
  • 第5章 匹配模式 81
  • 5.1 不区分大小写模式 81
  • 5.1.1 模式的指定方式 82
  • 5.2 单行模式 84
  • 5.3 多行模式 85
  • 5.4 注释模式 87
  • 5.5 补充 88
  • 5.5.1 更多的模式 88
  • 5.5.2 修饰符的作用范围 89
  • 5.5.3 失效修饰符 90
  • 5.5.4 模式与反向引用 90
  • 5.5.5 冲突策略 91
  • 5.5.6 哪种方式更好 92
  • 第6章 其他 93
  • 6.1 转义 93
  • 6.1.1 字符串转义与正则转义 93
  • 6.1.2 元字符的转义 97
  • 6.1.3 彻底消除元字符的特殊含义 99
  • 6.1.4 字符组中的转义 101
  • 6.2 正则表达式的处理形式 101
  • 6.2.1 函数式处理 102
  • 6.2.2 面向对象式处理 102
  • 6.2.3 比较 103
  • 6.2.4 线程安全性 104
  • 6.3 表达式中的优先级 106第 二 部 分
  • 第7章 Unicode 110
  • 7.1 关于编码 110
  • 7.2 推荐使用Unicode编码 111
  • 7.3 Unicode匹配规则 115
  • 7.4 单词边界 117
  • 7.5 码值 119
  • 7.6 Unicode属性 121
  • 7.6.1 Unicode Property 121
  • 7.6.2 Unicode Block 122
  • 7.6.3 Unicode Script 123
  • 7.7 Unicode属性列表 123
  • 7.7.1 Unicode Property 123
  • 7.7.2 Unicode Block 125
  • 7.7.3 Unicode Script 128
  • 7.8 POSIX字符组 129
  • 第8章 匹配原理 130
  • 8.1 有穷自动机 130
  • 8.2 正则表达式的匹配过程 131
  • 8.3 回溯 134
  • 8.4 NFA和DFA 136
  • 第9章 常见问题的解决思路 138
  • 9.1 关于元素的三种逻辑 138
  • 9.1.1 必须出现 139
  • 9.1.2 可能出现 139
  • 9.1.3 不能出现 140
  • 9.2 正则表达式的常见操作 142
  • 9.2.1 提取 142
  • 9.2.2 验证 148
  • 9.2.3 替换 152
  • 9.2.4 切分 157
  • 9.3 正则表达式的优化建议 159
  • 9.3.1 使用缓存 159
  • 9.3.2 尽量准确地表达意图 160
  • 9.3.3 避免重复匹配 160
  • 9.3.4 独立出文本和锚点 161
  • 9.4 别过分依赖正则表达式 162
  • 9.4.1 彻底放弃字符串操作 162
  • 9.4.2 思维定势 163
  • 9.4.3 正则表达式可以匹配各种文本 164第 三 部 分
  • 第10章 .NET 168
  • 10.1 预备知识 168
  • 10.2 正则功能详解 169
  • 10.2.1 列表 169
  • 10.2.2 字符组 170
  • 10.2.3 Unicode属性 170
  • 10.2.4 字符组简记法 171
  • 10.2.5 单词边界 171
  • 10.2.6 行起始/结束位置 172
  • 10.2.7 环视 173
  • 10.2.8 匹配模式 173
  • 10.2.9 捕获分组的引用 174
  • 10.3 正则API简介 175
  • 10.3.1 Regex 175
  • 10.3.2 Match 179
  • 10.4 常用操作示例 180
  • 10.4.1 验证 180
  • 10.4.2 提取 180
  • 10.4.3 替换 181
  • 10.4.4 切分 182
  • 第11章 Java 183
  • 11.1 预备知识 183
  • 11.2 正则功能详解 184
  • 11.2.1 列表 184
  • 11.2.2 字符组 184
  • 11.2.3 Unicode属性 186
  • 11.2.4 字符组简记法 186
  • 11.2.5 单词边界 186
  • 11.2.6 行起始/结束位置 187
  • 11.2.7 环视 188
  • 11.2.8 匹配模式 188
  • 11.2.9 纯文本模式 189
  • 11.2.10 捕获分组的引用 189
  • 11.3 正则API简介 189
  • 11.3.1 Pattern 190
  • 11.3.2 Matcher 192
  • 11.3.3 String 194
  • 11.4 常用操作示例 195
  • 11.4.1 验证 195
  • 11.4.2 提取 196
  • 11.4.3 替换 196
  • 11.4.4 切分 197
  • 第12章 JavaScript 198
  • 12.1 预备知识 198
  • 12.2 正则功能详解 199
  • 12.2.1 列表 199
  • 12.2.2 字符组 199
  • 12.2.3 字符组简记法 200
  • 12.2.4 单词边界 200
  • 12.2.5 行起始/结束位置 201
  • 12.2.6 环视 201
  • 12.2.7 匹配模式 202
  • 12.2.8 捕获分组的引用 203
  • 12.3 正则API简介 203
  • 12.3.1 RegExp 203
  • 12.3.2 String 207
  • 12.4 常用操作示例 210
  • 12.4.1 验证 210
  • 12.4.2 提取 210
  • 12.4.3 替换 211
  • 12.4.4 切分 211
  • 12.5 关于ActionScript 211
  • 12.5.1 RegExp 211
  • 12.5.2 匹配规则 212
  • 12.5.3 匹配模式 212
  • 12.5.4 正则API 212
  • 第13章 PHP 213
  • 13.1 预备知识 213
  • 13.2 正则功能详解 215
  • 13.2.1 列表 215
  • 13.2.2 字符组 216
  • 13.2.3 Unicode属性 217
  • 13.2.4 字符组简记法 217
  • 13.2.5 单词边界 217
  • 13.2.6 行起始/结束位置 218
  • 13.2.7 环视 219
  • 13.2.8 匹配模式 219
  • 13.2.9 纯文本模式 220
  • 13.2.10 捕获分组的引用 220
  • 13.3 正则API简介 221
  • 13.3.1 PREG 常量说明 221
  • 13.3.2 preg_quote 222
  • 13.3.3 preg_ grep 223
  • 13.3.4 preg_match 223
  • 13.3.5 preg_match_all 225
  • 13.3.6 preg_ last_ error 227
  • 13.3.7 preg_replace 227
  • 13.3.8 preg_ replace_ callback 227
  • 13.3.9 preg_ filter 228
  • 13.3.10 preg_ split 229
  • 13.4 常见的正则操作举例 230
  • 13.4.1 验证 230
  • 13.4.2 提取 230
  • 13.4.3 替换 231
  • 13.4.4 切分 232
  • 第14章 Python 233
  • 14.1 预备知识 233
  • 14.2 正则功能详解 234
  • 14.2.1 列表 234
  • 14.2.2 字符组 235
  • 14.2.3 Unicode属性 236
  • 14.2.4 字符组简记法 236
  • 14.2.5 单词边界 238
  • 14.2.6 行起始/结束位置 239
  • 14.2.7 环视 239
  • 14.2.8 匹配模式 240
  • 14.2.9 捕获分组的引用 240
  • 14.3 正则API简介 241
  • 14.3.1 RegexObject 241
  • 14.3.2 re.compile(regex[, flags]) 243
  • 14.3.3 re.search(pattern, string[, flags]) 243
  • 14.3.4 MatchObject 243
  • 14.3.5 re.match(pattern, string[, flags]) 244
  • 14.3.6 re.findall(pattern, sting[, flags]) 245
  • 14.3.7 re.finditer(pattern, string[, flags]) 245
  • 14.3.8 re.split(pattern, string[, maxsplit=0,flags=0]) 246
  • 14.3.9 re.sub(pattern, repl, string[, count,flags]) 247
  • 14.4 常用操作示例 248
  • 14.4.1 验证 248
  • 14.4.2 提取 248
  • 14.4.3 替换 249
  • 14.4.4 切分 250
  • 第15章 Ruby 251
  • 15.1 预备知识 251
  • 15.2 正则功能详解 252
  • 15.2.1 列表 252
  • 15.2.2 字符组 252
  • 15.2.3 Unicode属性 253
  • 15.2.4 字符组简记法 254
  • 15.2.5 单词边界 254
  • 15.2.6 行起始/结束位置 255
  • 15.2.7 环视 256
  • 15.2.8 匹配模式 256
  • 15.2.9 捕获分组的引用 257
  • 15.3 正则API简介 257
  • 15.3.1 Regexp 257
  • 15.3.2 Regexp.match(text) 259
  • 15.3.3 Regexp.quote(text)和Regexp.escape(text) 260
  • 15.3.4 String.index(Regexp) 261
  • 15.3.5 String.scan(Regexp) 261
  • 15.3.6 String.slice(Regexp) 262
  • 15.3.7 String.split(Regexp) 262
  • 15.3.8 String.sub(Regexp, Str) 263
  • 15.3.9 String.gsub(Regexp, String) 264
  • 15.4 常用操作示例 264
  • 15.4.1 验证 264
  • 15.4.2 提取 265
  • 15.4.3 替换 265
  • 15.4.4 切分 265
  • 15.5 Ruby 1.9的新变化 266
  • 第16章 Linux/UNIX 268
  • 16.1 POSIX 268
  • 16.1.1 POSIX规范 268
  • 16.1.2 POSIX字符组 269
  • 16.2 vi 271
  • 16.2.1 字符组及简记法 271
  • 16.2.2 量词 272
  • 16.2.3 多选结构和捕获分组 272
  • 16.2.4 环视 273
  • 16.2.5 锚点和单词边界 273
  • 16.2.6 替换操作的特殊字符 274
  • 16.2.7 replacement中的特殊变量 276
  • 16.2.8 补充 276
  • 16.3 grep 277
  • 16.3.1 基本用法 277
  • 16.3.2 字符组 277
  • 16.3.3 锚点和单词边界 278
  • 16.3.4 量词 278
  • 16.3.5 多选结构和捕获分组 279
  • 16.3.6 options 279
  • 16.3.7 egrep和fgrep 280
  • 16.3.8 补充 280
  • 16.4 awk 281
  • 16.4.1 基本用法 281
  • 16.4.2 字符组及简记法 282
  • 16.4.3 锚点和单词边界 283
  • 16.4.4 量词 283
  • 16.4.5 多选结构 284
  • 16.4.6 补充 284
  • 16.5 sed 284
  • 16.5.1 基本用法 284
  • 16.5.2 字符组及简记法 285
  • 16.5.3 锚点和单词边界 285
  • 16.5.4 量词 286
  • 16.5.5 多选结构和捕获分组 286
  • 16.5.6 options 286
  • 16.5.7 补充 287
  • 16.6 总结 288
  • 附录A 常用语言中正则特性一览 291
  • 附录B 常用的正则表达式 293
  • 附录C 常用的正则表达式工具及资源 309
     

资源下载

资源下载地址1:https://pan.baidu.com/s/1a3PAvTmqpCfEzN3FSCwy9A

相关资源

网友留言