神奇的匹配:正则表达式求精之旅(博文视点出品) PDF下载 公众号 其他格式

手机扫码免费下载

纠错留言

#电子书截图

神奇的匹配:正则表达式求精之旅(博文视点出品)截图

#电子书简介

王蕾,东华理工大学任教,多年从事计算机相关课程教学,对正则表达式颇有研究,总结出多种编程语言环境下的正则表达式案例。

第1篇 正则表达式基础
第1章 外行看正则表达式
1.1 什么是正则表达式
1.2 本书使用的测试工具
1.3 理解元字符
1.3.1 匹配位置的元字符
1.3.2 匹配字符的元字符
1.3.3 元字符总结
1.4 文字匹配
1.4.1 字符类
1.4.2 字符转义
1.4.3 反义
1.4.4 限定符
1.5 字符的操作
1.5.1 替换
1.5.2 分组
1.5.3 反向引用
1.6 正则的其他操作
1.6.1 零宽度断言
1.6.2 负向零宽度断言
1.6.3 匹配选项
1.6.4 注释
1.6.5 优先级顺序
1.6.6 递归匹配
1.7 典型正则表达式解释
1.7.1 匹配Windows操作系统的名称
1.7.2 匹配HTML标记
1.7.3 匹配HTML标记之间的内容
1.7.4 匹配CSV文件内容
第2章 数字验证的方法
2.1 9种数值验证
2.1.1 字符串只包含数字的验证
2.1.2 字符串只包含整数的验证
2.1.3 字符串指定范围的整数验证
2.1.4 字符串为实数的验证
2.1.5 字符串指定精度的实数验证
2.1.6 科学计数法的数值验证
2.1.7 二进制数值的验证
2.1.8 八进制数值的验证
2.1.9 十六进制数值的验证
2.2 4种国内电话号码的验证
2.2.1 国内手机号码验证
2.2.2 固定电话号码(不包括区号)验证
2.2.3 区号+固定电话号码验证
2.2.4 区号+固定电话号码+分机号码验证
2.2.5 固定电话号码验证总结
2.3 2种身份证号码验证
2.3.1 15位身份证号码验证
2.3.2 18位身份证号码验证
2.4 银行卡和信用卡号验证
2.5 邮政编码验证
2.5.1 国内邮政编码验证
2.5.2 国际邮政编码验证
2.6 4种IP地址验证
2.6.1 简单IP地址验证
2.6.2 精确IP地址验证
2.6.3 子网内部IP地址验证
2.6.4 64位IP地址验证
第3章 常用字符串验证方法
3.1 5种英文单词验证
3.1.1 小写英文单词验证
3.1.2 大写英文单词验证
3.1.3 英文单词的分隔符验证
3.1.4 否定验证
3.1.5 具有重复特征的英文单词验证
3.2 6种非单词字符串验证
3.2.1 英文标点符号验证
3.2.2 中文标点符号验证
3.2.3 中文文本验证
3.2.4 特殊字符验证
3.2.5 密码验证
3.2.6 字符表的分类
3.3 常用的文件名称和路径验证
3.3.1 通配符
3.3.2 指定文件扩展名的验证
3.3.3 指定文件名的验证
3.3.4 包含指定字符串的文件全名验证
3.3.5 排除两端存在空白字符的文件全名验证
3.3.6 文件路径验证
3.4 4种网络常用元素验证
3.4.1 电子邮件验证
3.4.2 主机名称验证
3.4.3 HTTP地址验证
3.4.4 FTP地址验证
第4章 常见数字和字符混合验证
4.1 5种数学表达式验证
4.1.1 操作数验证
4.1.2 操作符验证
4.1.3 简单数学表达式验证
4.1.4 只含操作数和操作符的数学表达式验证
4.1.5 包含小括号的数学表达式验证
4.2 8种日期和时间验证
4.2.1 年验证
4.2.2 月验证
4.2.3 日验证
4.2.4 年月日格式的日期验证
4.2.5 24小时制时分秒格式的时间验证
4.2.6 12小时制时分秒格式的时间验证
4.2.7 带毫秒的时间验证
4.2.8 长格式的日期和时间验证
4.3 4种编码规范验证
4.3.1 类名称验证
4.3.2 声明变量表达式验证
4.3.3 函数名称验证
4.3.4 声明函数表达式验证
4.4 3种车牌号码验证
4.4.1 通用车牌号码验证
4.4.2 武警车牌号码验证
第5章 常见的HTML元素验证和处理
5.1 6种HTML元素验证的基础
5.1.1 HTML标记验证
5.1.2 非封闭HTML标记验证
5.1.3 封闭HTML标记验证
5.1.4 属性赋值表达式验证
5.1.5 HTML中的注释验证
5.1.6 HTML中的脚本代码块验证
5.2 4种非封闭的HTML元素验证
5.2.1 <br>元素验证
5.2.2 <hr>元素验证
5.2.3 <a>元素验证
5.2.4 <input>元素验证
5.3 封闭的HTML元素验证
5.4 处理HTML元素
5.4.1 提取HTML标记
5.4.2 提取HTML标记之间的内容
5.4.3 提取URL
5.4.4 提取图像的URL
5.4.5 提取HTML页面的标题
第2篇 ASP.NET正则表达式应用
第6章 C#常用数据类型的检查与转换
6.1 数值数据类型的检查与转换
6.1.1 整数检查
6.1.2 实数检查
6.1.3 整数和字符串之间的转换
6.1.4 浮点数和字符串之间的转换
6.2 布尔数据类型检查与转换
6.2.1 布尔值检查
6.2.2 布尔值和字符串之间的转换
6.3 时间数据类型检查与转换
6.3.1 时间数据类型检查
6.3.2 时间和字符串之间的转换
6.4 数据类型检查与转换应用实例
第7章 不可变字符串与可变字符串的处理
7.1 15种不可变字符串String处理
7.1.1 String类和对象
7.1.2 插入字符串
7.1.3 替换字符串
7.1.4 填充字符串
7.1.5 删除字符串
7.1.6 分割字符串
7.1.7 比较字符串
7.1.8 连接字符串
7.1.9 处理字符串中的空白
7.1.10 转换字符串大小写
7.1.11 匹配和检索字符串
7.1.12 格式化字符串
7.1.13 获取子字符串
7.1.14 编码字符串
7.1.15 不可变字符串String处理的应用
7.2 8种可变字符串StringBuilder处理
7.2.1 StringBuilder类和对象
7.2.2 追加字符串
7.2.3 插入字符串
7.2.4 替换字符串
7.2.5 删除字符串
7.2.6 复制字符串
7.2.7 处理字符串容量
7.2.8 可变字符串StringBuilder处理的应用
第8章 常见的.NET框架中正则表达式及其应用
8.1 10种.NET框架中的正则表达式类库
8.1.1 System.Text.RegularExpressions命名空间
8.1.2 正则表达式类Regex
8.1.3 正则表达式选项
8.1.4 检查是否匹配表达式
8.1.5 匹配单个匹配项
8.1.6 匹配多个匹配项
8.1.7 替换
8.1.8 使用委托MatchEvaluator处理匹配结果
8.1.9 获取分组名称
8.1.10 分割表达式
8.2 14种正则表达式类Regex处理字符串
8.2.1 只包含数字验证
8.2.2 整数验证
8.2.3 实数验证
8.2.4 电话号码验证
8.2.5 邮政编码验证
8.2.6 身份证号码验证
8.2.7 银行卡号验证
8.2.8 IP地址验证
8.2.9 日期和时间验证
8.2.10 车牌号码验证
8.2.11 电子邮件验证
8.2.12 URL验证
8.2.13 提取网页标题
8.2.14 提取网页中的图像地址
8.2.15 提取网页中的HTTP地址
第9章 常见ASP.NET验证控件
9.1 ASP.NET验证简介
9.2 2种非空验证
9.2.1 无初始值的非空验证
9.2.2 指定初始值的验证
9.3 3种范围验证
9.3.1 整数范围验证
9.3.2 字母范围验证
9.3.3 日期范围验证
9.4 3种比较验证
9.4.1 两个控件内容的比较验证
9.4.2 检查控件内容的数据类型
9.4.3 指定的值和控件内容的比较验证
9.5 2种自定义验证
9.5.1 自定义客户端验证
9.5.2 自定义服务端验证
9.6 7种正则表达式验证
9.6.1 整数验证
9.6.2 数值验证
9.6.3 电话号码验证
9.6.4 身份证号码验证
9.6.5 电子邮件验证
9.6.6 日期和时间验证
9.6.7 URL验证
9.7 2种显示验证摘要
9.7.1 在对话框上显示验证摘要
9.7.2 在网页上显示验证摘要
第3篇 PHP正则表达式应用
第10章 常见PHP数据类型
10.1 7种PHP常见数据类型
10.1.1 布尔型
10.1.2 NULL型
10.1.3 整型
10.1.4 浮点型
10.1.5 字符串
10.1.6 数组
10.1.7 对象
10.2 5种常见的类型转化
10.2.1 变量类型变化
10.2.2 强制类型转换
10.2.3 字符串转化
10.2.4 数字转化
10.2.5 数组转化
10.3 小结
第11章 常见PHP字符串处理
11.1 常见的3种字符串分析
11.1.1 访问字符串中的字符
11.1.2 处理子字符串
11.1.3 分割字符串
11.2 4种字符串的操作
11.2.1 删除字符串的空白
11.2.2 转换字符串大小写
11.2.3 填补字符串
11.2.4 反转字符串
11.3 2种字符串的格式化
11.3.1 格式化数字
11.3.2 格式化字符串
11.4 字符串的查找和替换
11.4.1 查找字符串
11.4.2 替换字符串
11.5 3种常见的字符串的比较方法
11.5.1 按ASCII码顺序比较
11.5.2 按"自然排序"法比较
11.5.3 按相似性比较
11.6 处理HTML和URL
11.6.1 HTML标签的清理
11.6.2 HTML实体的处理
11.6.3 URL字符串的解析
11.6.4 URL编码处理
11.6.5 查询字符串的构造
11.7 小结
第12章 PHP与正则表达式的应用
12.1 关于POSIX扩展库的正则表达式函数
12.1.1 模式匹配
12.1.2 模式替换
12.1.3 模式分割
12.2 关于PCRE库的正则表达式函数
12.2.1 对正则表达式匹配
12.2.2 取得正则表达式的全部匹配
12.2.3 返回与模式匹配的数组单元
12.2.4 正则表达式的替换
12.2.5 正则表达式的拆分
12.3 PHP与正则表达式的综合应用
12.3.1 表单验证
12.3.2 UBB代码
12.3.3 分析Apache日志文件
12.4 小结
第4篇 JSP正则表达式应用
第13章 常见的JSP中数据处理
13.1 5种JSP中的常用数据类型
13.1.1 整数类型及应用
13.1.2 浮点类型及应用
13.1.3 字符类型及应用
13.1.4 布尔类型及应用
13.1.5 字符串类型及应用
13.2 2种JSP中数据类型的转换
13.2.1 自动类型转换及应用
13.2.2 强制类型转换及应用
13.3 7种JSP中字符串数据的处理
13.3.1 字符串与其他类型数据的转换
13.3.2 字符串的分析
13.3.3 字符串的查找与替换
13.3.4 字符串数据的整理
13.3.5 字符串的比较
13.3.6 字符串的连接
13.3.7 字符串的格式化
13.4 小结
第14章 常见的JSP中正则表达式
14.1 2种JSP中的正则表达式函数
14.1.1 Pattern类
14.1.2 Matcher类
14.1.3 正则表达式常用的四种功能
14.2 JSP中正则表达式的常见应用示例
14.2.1 电子邮件地址的校验
14.2.2 URL地址的校验
14.2.3 电话号码的校验
14.3 小结
第5篇 JavaScript正则表达式应用
第15章常见的JavaScript中数据类型及其转化
15.1 常见的三种JavaScript数据类型
15.1.1 数字基本类型
15.1.2 字符串基本类型
15.1.3 布尔值基本类型
15.2 数据类型转化
15.2.1 基本数据类型转换
15.2.2 将字符串转化为整数
15.2.3 将字符串转化为浮点数
第16章 常见JavaScript字符串和数组处理
16.1 6种字符串格式处理
16.1.1 获取字符串的长度
16.1.2 根据指定的Unicode编码返回一个字符串
16.1.3 将字符串分割并存储到数组中
16.1.4 比较两个字符串的大小
16.1.5 将字符串转化为小写格式
16.1.6 将字符串转化为大写格式
16.2 最基本的字符串查找、替换
16.2.1 获取指定字符(串)第一次在字符串中出现的位置
16.2.2 获取指定字符(串)最后一次在字符串中出现的位置
16.2.3 替换字符串中指定的内容
16.3 字符串截取、组合的方法
16.3.1 返回字符串中指定位置处的字符
16.3.2 将一个或多个字符串连接到当前字符串的末尾
16.3.3 获取指定位置的字符的Unicode编码
16.3.4 从字符串中提取子串(1)
16.3.5 从字符串中提取子串(2)
16.3.6 从字符串中提取子串(3)
16.4 字符串HTML格式化
16.4.1 在字符串两端加入锚点标志
16.4.2 在字符串的两端加上粗体标志
16.4.3 在字符串两端加入斜体标签
16.4.4 在指定字符串的两端加上大字体标志
16.4.5 在字符串的两端加上固定宽度字体标记
16.4.6 设置字符串输出时的字体大小
16.4.7 设置字符串输出时的前景色
16.4.8 在字符串上加入超链接
16.4.9 在字符串两端加上小字体标记
16.4.10 在字符串两端加入下标标签
16.4.11 在字符串两端加入上标标签
16.4.12 在字符串的两端加入下画线标记
16.5 Array对象的方法及使用
16.5.1 连接其他数组到当前数组末尾
16.5.2 将数组元素连接为字符串
16.5.3 删除数组中的第一个元素
16.5.4 删除数组中最后一个元素
16.5.5 删除或替换数组中部分数据
16.5.6 将指定的数据添加到数组中
16.5.7 在数组前面插入数据
16.5.8 获取数组中的一部分数据
16.5.9 反序排列数组中的元素
16.5.10 对数组中的元素进行排序
16.5.11 返回一个包含数组中全部数据的字符串
第17章 常见JavaScript正则表达式应用
17.1 正则表达式对象RegExp及其应用
17.1.1 正则表达式的创建
17.1.2 判断字符串中是否存在匹配内容
17.1.3 对字符串进行匹配检测
17.1.4 编译正则表达式
17.1.5 替换字符串中的指定内容
17.2 处理匹配的结果
17.2.1 获取字符串中所有的匹配信息
17.2.2 获取第一次匹配的起始位置(1)
17.2.3 获取第一次匹配的起始位置(2)
17.2.4 获取子匹配的结果
17.2.5 获取与正则表达式进行匹配检测的字符串
17.2.6 获取最近一次匹配的内容
17.2.7 获取最近一次匹配的最后一个子匹配
17.2.8 获取匹配的内容的最后一个索引位置
17.2.9 获取匹配内容左侧的字符信息
17.2.10 获取匹配内容右侧的字

正则表达式就像是查字典,当然,并不是说真的就是查字典,只是过程很类似而已。举个例子:当你要查询以A开头的单词的时候,可能用不到正则表达式;但是当你要查询第三个字母是A的单词的时候,用正则表达式可能就是一个好的方法。使用正则表达式可以让你快速处理文本问题,使工作事半功倍。
——深圳亚鼎科技有限公司信息系统部总监方擎


正则表达式听起来很难,其实没有那么复杂,他是为了解决编程中的问题而出现的,这本书针对具体问题,给出了有效的解决方法,适合程序员作为案头书籍随时查阅。
——腾讯数据商业产品架构师韩伟


这本书详细解释了正则表达式的各个组成部分、这些组成部分的含义、如何使用它们,以及在编写正则表达式时如何避免常见的错误。书中示例丰富,打破了所谓正则表达式难以掌握的神话。感谢作者的无私奉献。
——IBM中国商业价值研究院高级分析师刘京华

《神奇的匹配:正则表达式求精之旅》从正则表达式的基本概念、基本语法入手,着重于数字验证、字符串验证、数字和字符串混合验证及HTML处理等各个方面的应用。并基于目前流行的程序语言和应用环境(如C#、ASP.NET、JSP、JavaScript或PHP),全面介绍了创建正则表达式的方法,以及正则表达式在Web环境中的各种应用。

  • 评论列表(0

留言评论