当前位置:首页 > 工业技术
正则指引  第2版
正则指引  第2版

正则指引 第2版PDF电子书下载

工业技术

  • 电子书积分:13 积分如何计算积分?
  • 作 者:余晟著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2018
  • ISBN:9787121351303
  • 页数:364 页
图书介绍:本书综合作者自己遇到的实际问题,以及其他开发人员咨询的问题,总结出一套巧妙运用正则表达式的办法,并通过具体的例子指导读者拆解、分析问题。全书分为三部分:第一部分主要讲解正则表达式的基础知识,涵盖了正则表达式中常见的各种功能和结构;第二部分主要讲解关于正则表达式的更深入的知识,详细探讨了编码问题、匹配原理、解题思路;第三部分将之前介绍的各种知识落实到常用语言.NET、Java、JavaScript、PHP、Python、Ruby、Objective-C、Golang中,在详细介绍了在这些语言中正则表达式的具体用法之外,还辨析了版本之间的细微差异。本书既可以作为专门的学习用书,也可以作为备查的参考手册。
《正则指引 第2版》目录
标签:正则 指引

第一部分 2

第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 常用量词 19

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 非捕获分组 55

3.5 补充 56

3.5.1 转义 56

3.5.2 URL Rewrite 56

3.5.3 一个例子 58

第4章 断言 60

4.1 单词边界 60

4.2 行起始/结束位置 62

4.3 环视 69

4.4 补充 75

4.4.1 环视的价值 75

4.4.2 环视与分组编号 76

4.4.3 环视的支持程度 77

4.4.4 环视的组合 79

4.4.5 断言和反向引用之间的关系 81

4.4.6 逆序环视的诡异之处 81

第5章 匹配模式 83

5.1 不区分大小写模式与模式的指定方式 83

5.2 单行模式 86

5.3 多行模式 87

5.4 注释模式 89

5.5 补充 91

5.5.1 更多的模式 91

5.5.2 修饰符的作用范围 91

5.5.3 失效修饰符 92

5.5.4 模式与反向引用 93

5.5.5 冲突策略 93

5.5.6 哪种方式更好 94

第6章 其他 95

6.1 转义 95

6.1.1 字符串转义与正则转义 95

6.1.2 元字符的转义 99

6.1.3 彻底消除元字符的特殊含义 101

6.1.4 字符组中的转义 103

6.2 正则表达式的处理形式 103

6.2.1 函数式处理 104

6.2.2 面向对象式处理 104

6.2.3 比较 105

6.2.4 线程安全性 106

6.3 表达式中的优先级 108

6.4 回车和换行 109

第二部分 112

第7章 Unicode 112

7.1 基础知识 112

7.2 关于编码 115

7.3 尽量使用Unicode编码 116

7.4 Unicode与字符组简记法 120

7.5 规范化问题 122

7.6 单词边界 123

7.7 码值转义序列 125

7.8 Unicode属性 127

7.8.1 Unicode Property 128

7.8.2 Unicode Block 128

7.8.3 Unicode Script 129

7.9 Unicode属性列表 130

7.9.1 Unicode Property 130

7.9.2 Unicode Block 131

7.9.3 Unicode Script 135

7.10 POSIX字符组 135

7.11 Emoji 136

第8章 匹配原理 138

8.1 有穷自动机 138

8.2 正则表达式的匹配过程 139

8.3 回溯 142

8.4 NFA和DFA 144

第9章 常见问题的解决思路 146

9.1 关于元素的三种逻辑 146

9.1.1 必须出现 147

9.1.2 可能出现 147

9.1.3 不能出现 148

9.2 正则表达式的常见操作 150

9.2.1 提取 150

9.2.2 验证 156

9.2.3 替换 160

9.2.4 切分 165

9.3 正则表达式的优化建议 167

9.3.1 使用缓存 167

9.3.2 尽量准确地表达意图 168

9.3.3 避免重复匹配 168

9.3.4 独立出文本和锚点 169

9.4 别过分依赖正则表达式 170

9.4.1 彻底放弃字符串操作 170

9.4.2 思维定式 171

9.4.3 正则表达式可以匹配各种文本 172

9.4.4 滥用正则表达式 173

第三部分 176

第10章 .NET 176

10.1 预备知识 176

10.2 正则功能详解 177

10.2.1 列表 177

10.2.2 字符组 178

10.2.3 Unicode属性 178

10.2.4 字符组简记法 179

10.2.5 单词边界 179

10.2.6 行起始/结束位置 180

10.2.7 环视 181

10.2.8 匹配模式 181

10.2.9 捕获分组的引用 182

10.3 正则API简介 183

10.3.1 Regex 183

10.3.2 Match 187

10.4 常用操作示例 188

10.4.1 验证 188

10.4.2 提取 189

10.4.3 替换 189

10.4.4 切分 190

第11章 Java 191

11.1 预备知识 191

11.2 正则功能详解 192

11.2.1 列表 192

11.2.2 字符组 192

11.2.3 Unicode属性 194

11.2.4 字符组简记法 194

11.2.5 单词边界 194

11.2.6 行起始/结束位置 195

11.2.7 环视 196

11.2.8 匹配模式 196

11.2.9 纯文本模式 197

11.2.10 捕获分组的引用 197

11.3 正则API简介 197

11.3.1 Pattern 198

11.3.2 Matcher 200

11.3.3 Stnng 203

11.4 常用操作示例 204

11.4.1 验证 204

11.4.2 提取 204

11.4.3 替换 205

11.4.4 切分 206

11.5 Java 8和Java 9的新改进 206

11.5.1 Java 8的新改进 206

11.5.2 Java 9的新改进 207

第12章 JavaScript 208

12.1 预备知识 208

12.2 正则功能详解 209

12.2.1 列表 209

12.2.2 字符组 210

12.2.3 字符组简记法 211

12.2.4 单词边界 211

12.2.5 行起始/结束位置 212

12.2.6 环视 212

12.2.7 匹配模式 213

12.2.8 捕获分组的引用 214

12.3 正则API简介 215

12.3.1 RegExp 215

12.3.2 String 218

12.4 常用操作示例 221

12.4.1 验证 221

12.4.2 提取 222

12.4.3 替换 223

12.4.4 切分 223

12.5 关于ActionScript 223

12.5.1 RegExp 223

12.5.2 匹配规则 224

12.5.3 匹配模式 224

12.5.4 正则API 224

第13章 PHP 225

13.1 预备知识 225

13.2 正则功能详解 227

13.2.1 列表 227

13.2.2 字符组 228

13.2.3 Unicode属性 229

13.2.4 字符组简记法 229

13.2.5 单词边界 230

13.2.6 行起始/结束位置 230

13.2.7 环视 231

13.2.8 匹配模式 231

13.2.9 纯文本模式 232

13.2.10 捕获分组的引用 232

13.3 正则API简介 233

13.3.1 PREG常量说明 233

13.3.2 preg_quote 235

13.3.3 preg_grep 235

13.3.4 preg_match 236

13.3.5 preg_match_all 237

13.3.6 preg_last_error 239

13.3.7 preg_replace 239

13.3.8 preg_replace-callback 240

13.3.9 preg_filter 240

13.3.10 preg_split 241

13.3.11 preg_replace_callback_array 242

13.4 常见的正则操作举例 243

13.4.1 验证 243

13.4.2 提取 243

13.4.3 替换 244

13.4.4 切分 244

第14章 Python 245

14.1 预备知识 245

14.2 正则功能详解 246

14.2.1 列表 246

14.2.2 字符组 247

14.2.3 Unicode属性 248

14.2.4 字符组简记法 249

14.2.5 单词边界 250

14.2.6 行起始/结束位置 251

14.2.7 环视 252

14.2.8 匹配模式 252

14.2.9 捕获分组的引用 253

14.2.10 条件匹配 253

14.3 正则API简介 254

14.3.1 RegexObject 254

14.3.2 re.compile(regex[,flags]) 255

14.3.3 re.search(pattern,string[,flags]) 256

14.3.4 MatchObject 256

14.3.5 re.match(pattern,string[,flags]) 257

14.3.6 re.findall(pattern,string[,flags]) 258

14.3.7 re.finditer(pattern,string[,flags]) 258

14.3.8 re.split(pattern,string[,maxsplit=0,flags=0]) 259

14.3.9 re.sub(pattern,repl,string[,count,flags]) 259

14.4 常用操作示例 260

14.4.1 验证 260

14.4.2 提取 261

14.4.3 替换 262

14.4.4 切分 262

第15章 Ruby 263

15.1 预备知识 263

15.2 正则功能详解 264

15.2.1 列表 264

15.2.2 字符组 264

15.2.3 Unicode属性 265

15.2.4 字符组简记法 266

15.2.5 单词边界 266

15.2.6 行起始/结束位置 267

15.2.7 环视 268

15.2.8 匹配模式 268

15.2.9 捕获分组的引用 269

15.3 正则API简介 269

15.3.1 Regexp 269

15.3.2 Regexp.match(text) 271

15.3.3 Regexp.quote(text)和Regexp.escape(text) 272

15.3.4 String.index(Regexp) 273

15.3.5 String.scan(Regexp) 273

15.3.6 String.slice(Regexp) 274

15.3.7 String.split(Regexp) 274

15.3.8 String.sub(Regexp,Str) 275

15.3.9 String.gsub(Regexp,String) 276

15.4 常用操作示例 276

15.4.1 验证 276

15.4.2 提取 277

15.4.3 替换 277

15.4.4 切分 277

15.5 Ruby 1.9的新变化 278

第16章 Objective-C 280

16.1 预备知识 280

16.2 正则功能详解 282

16.2.1 列表 282

16.2.2 字符组 283

16.2.3 Unicode属性 284

16.2.4 字符组简记法 284

16.2.5 单词边界 285

16.2.6 行起始/结束位置 286

16.2.7 环视 287

16.2.8 匹配模式 287

16.2.9 纯文本模式 288

16.2.10 捕获分组的引用 289

16.2.11 命名分组 290

16.3 正则API简介 291

16.3.1 predicateWithFormat 291

16.3.2 rangeOfString 292

16.3.3 regularExpressionWithPattern 292

16.3.4 initWithPattern 292

16.3.5 pattern 293

16.3.6 numberOfCaptureGroups 293

16.3.7 numberOfMatchesInString 293

16.3.8 stringByReplacingMatchesInString 294

16.3.9 replacingMatchesInString 294

16.3.10 escapedPatternForString 294

16.3.11 escapedTemplateForString 295

16.4 常用操作示例 295

16.4.1 验证 295

16.4.2 提取 295

16.4.3 替换 297

16.4.4 切分 298

第17章 Golang 299

17.1 预备知识 299

17.2 正则功能详解 301

17.2.1 列表 301

17.2.2 字符组 301

17.2.3 Unicode属性 302

17.2.4 字符组简记法 303

17.2.5 单词边界 303

17.2.6 行起始/结束位置 303

17.2.7 环视 304

17.2.8 匹配模式 304

17.2.9 纯文本模式 305

17.2.10 捕获分组的引用 305

17.2.11 命名分组 306

17.3 正则API简介 307

17.3.1 Compile和MustCompile 307

17.3.2 MatchString 308

17.3.3 FindString 308

17.3.4 FindAllString 309

17.3.5 FindStringIndex 309

17.3.6 FindAllStringIndex 309

17.3.7 FindStringSubmatch 309

17.3.8 FindAllStringSubmatch 310

17.3.9 SubexpNames 310

17.3.10 Split 311

17.3.11 ReplaceAllString 311

17.3.12 ReplaceAllLiteralString 312

17.4 常用操作示例 312

17.4.1 验证 312

17.4.2 提取 312

17.4.3 替换 313

17.4.4 切分 313

第18章 Linux/UNIX 314

18.1 POSIX 314

18.1.1 POSIX规范 314

18.1.2 POSIX字符组 316

18.2 vi 317

18.2.1 字符组及简记法 317

18.2.2 量词 318

18.2.3 多选结构和捕获分组 319

18.2.4 环视 319

18.2.5 锚点和单词边界 319

18.2.6 替换操作的特殊字符 320

18.2.7 replacement中的特殊变量 322

18.2.8 补充 322

18.3 grep 323

18.3.1 基本用法 323

18.3.2 字符组 324

18.3.3 锚点和单词边界 324

18.3.4 量词 324

18.3.5 多选结构和捕获分组 325

18.3.6 options 325

18.3.7 egrep和fgrep 326

18.3.8 补充 327

18.4 awk 327

18.4.1 基本用法 327

18.4.2 字符组及简记法 328

18.4.3 锚点和单词边界 329

18.4.4 量词 329

18.4.5 多选结构 330

18.4.6 补充 330

18.5 sed 330

18.5.1 基本用法 330

18.5.2 字符组及简记法 331

18.5.3 锚点和单词边界 331

18.5.4 量词 332

18.5.5 多选结构和捕获分组 332

18.5.6 options 333

18.5.7 补充 333

18.6 总结 334

附录A 常用语言中正则特性一览 337

附录B 常用的正则表达式 340

附录C 常用的正则表达式工具及资源 356

正则表达式术语中英文对照表 363

返回顶部