本类书籍检索

书籍介绍


精通正则表达式

(0人评分)

0.0%
0.0%
0.0%
0.0%
0.0%
作  者: 佛瑞德  
译  者: 余晟  
出 版 社: 电子工业出版社
书  号: 9787121046841
页  数: 515 页
出版日期: 2009-7-25
定  价: ¥85 元
精通正则表达式简介
作者简介
Jeffrey E.F.Friedl生长于俄亥俄州Rootstown的乡村,小时候希望成为天文学家,直到有一天他发现了闲置在化学实验室角落里的TRS-80 Model I(装备了整整16KB RAM)。1980年他终于开始使用Unix(和正则表达式)。在肯特(Kent)大学和新罕布什尔(New Hampshire)大学分别获得

目录
前言
第1章 正则表达式入门
 解决实际问题
 作为编程语言的正则表达式
  以文件名做类比
  以语言做类比
 正则表达式的思维框架
  对于有部分经验的读者
  检索文本文件:Egrep
 Egrep元字符
  行的起始和结束
  字符组
  用点号匹配任意字符
  多选结构
  忽略大小写
  单词分界符
  小结
  可选项元素
  其他量词:重复出现
  括号及反向引用
  神奇的转义
 基础知识拓展
  语言的差异
  正则表达式的目标
  更多的例子
  正则表达式术语汇总
  改进现状
  总结
  一家之言
第2章 入门示例拓展
 关于这些例子
  Perl简单入门
 使用正则表达式匹配文本
  向实用的程序前进
  成功匹配的副作用
  错综复杂的正则表达式
  暂停片刻
 使用正则表达式修改文本
  例子:公函生成程序
  举例:修整股票价格
  自动的编辑操作
  处理邮件的小工具
  用环视功能为数值添加逗号
  Text-to-HTML转换
  回到单词重复问题
第3章 正则表达式的特性和流派概览
 在正则的世界中漫步
  正则表达式的起源
  最初印象
 正则表达式的注意事项和处理方式
  集成式处理
  程序式处理和面向对象式处理
  查找和替换
  其他语言中的查找和替换
  注意事项和处理方式:小结
 字符串,字符编码和匹配模式
  作为正则表达式的字符串
  字符编码
  Unicode
正则模式和匹配模式
 常用的元字符和特性
  字符表示法
  字符组及相关结构
  锚点及其他“零长度断言”
  注释和模式量词
  分组,捕获,条件判断和控制
  高级话题引导
第4章:表达式的匹配原理
 发动引擎
  两类引擎
  新的标准
  正则引擎的分类
  几句题外话
  测试引擎的类型
 匹配的基础
  关于范例
  规则1:优先选择最左端的匹配结果
  引擎的构造
  规则2:标准量词是匹配优先的
 表达式主导与文本主导
  NFA引擎:表达式主导
  DFA引擎:文本主导
  第一想法:比较NFA与DFA
 回溯
  真实世界中的例子:面包屑
  回溯的两个要点
  备用状态
  回溯与匹配优先
 关于匹配优先和回溯的更多内容
  匹配优先的问题
  多字符“引文”
  使用忽略优先量词
  匹配优先和忽略优先都期望获得匹配
  匹配优先、忽略优先和回溯的要旨
  占有优先量词和固化分组
  占有优先量词,?+、*+、++和{m,n}+
  环视的回溯
  多选结构也是匹配优先的吗
  发掘有序多选结构的价值
 NFA、DFA和POSIX
  最左最长规则
  POSIX和最左最长规则
  速度和效率
  小结:NFA与DFA的比较
 总结
第5章:正则表达式实用技巧
 正则表达式的平衡法则
 若干简单的例子
  匹配连续行(续前)
  匹配IP地址
  处理文件名
  匹配对称的括号
  防备不期望的匹配
  匹配分隔符之内的文本
  了解数据,做出假设
  去除文本首尾的空白字符
 HTML相关范例
  匹配HTML Tag
  匹配HTML Link
  检查HTTP URL
  验证主机名
  在真实世界中提取URL
 扩展的例子
  保持数据的协调性
  解析CSV文件
第6章:打造高效正则表达式
 典型示例
  稍加修改——先迈最好使的腿
  效率vs准确性
  继续前进——限制匹配优先的作用范围
  实测
 全面考查回溯
  POSIX NFA需要更多处理
  无法匹配时必须进行的工作
  看清楚一点
  多选结构的代价可能很高
 性能测试
  理解测量对象
  PHP测试
  Java测试
  VB.NET测试
  Ruby测试
  Python测试
  Tcl测试
 常见优化措施
  有得必有失
  优化各有不同
  正则表达式的应用原理
  应用之前的优化措施
  通过传动装置进行优化
  优化正则表达式本身
 提高表达式速度的诀窍
  常识性优化
  将文字文本独立出来
  将锚点独立出来
  忽略优先还是匹配优先?具体情况具体分析
  拆分正则表达式
  模拟开头字符识别
  使用固化分组和占有优先量词
  主导引擎的匹配
 消除循环
  方法1:依据经验构建正则表达式
  真正的“消除循环”解法
  方法2:自顶向下的视角
  方法3:匹配主机名
  观察
  使用固化分组和占有优先量词
  简单的消除循环的例子
  消除C语言注释匹配的循环
 流畅运转的表达式
  引导匹配的工具
  引导良好的正则表达式速度很快完工
 总结:开动你的大脑
第7章:Perl
 作为语言组件的正则表达式
  Perl的长处
  Perl的短处
 Perl的正则流派
  正则运算符和正则文字
  正则文字的解析方式
  正则修饰符
 正则表达式相关的Perl教义
  表达式应用场合
  动态作用域及正则匹配效应
  匹配修改的特殊变量
 qr//运算符与regex对象
  构建和使用regex对象
  探究regex对象
  用regex对象提高效率
 Match运算符
  Match的正则运算元
  指定目标运算元
  Match运算符的不同用途
  迭代匹配:Scalar Context,不使用/g
  Match运算符与环境的关系
 Substitution运算符
  运算元replacement
  /e修饰符
  应用场合与返回值
  Split运算符
 Split基础知识
  返回空元素
  Split中的特殊Regex运算元
  Split中带捕获型括号的match运算元
 巧用Perl的专有特性
  用动态正则表达式结构匹配嵌套结构
  使用内嵌代码结构
  在内嵌代码结构中使用local函数
  关于内嵌代码和my变量的忠告
  使用内嵌代码匹配嵌套结构
  正则文字重载
  正则文字重载的问题
  模拟命名捕获
 效率
  办法不只一种
  表达式编译、/o修饰符、qr/···/和效率
  理解“原文”副本
  Study函数
  性能测试
  正则表达式调试信息
 结语
第8章:Java
 Java的正则流派
  Java对\p{}和\P{}的支持
  Unicode行终结符
 使用java.util.regex
 The Pattern.compile() Factory
  Pattern的matcher方法
 Matcher对象
  应用正则表达式
  查询匹配结果
  简单查找-替换
  高级查找-替换
  原地查找-替换
  Matcher的检索范围
  方法链
  构建扫描程序
  Matcher的其他方法
 Pattern的其他方法
  Pattern的split方法,单个参数
  Pattern的split方法,两个参数
 拓展示例
  为Image Tag添加宽度和高度属性
  对于每个Matcher,使用多个Pattern校验HTML
  解析CSV文档
 Java版本差异
  1.4.2和1.5.0之间的差异
  1.5.0和1.6之间的差异
第9章:.NET
 .NET的正则流派
  对于流派的补充
 使用.NET正则表达式
  正则表达式快速入门
  包概览
  核心对象概览
 核心对象详解
  创建Regex对象
  使用Regex对象
  使用Match对象
  使用Group对象
 静态“便捷”函数
  正则表达式缓存
 辅助函数
 .NET高级话题
  正则表达式装配件
  匹配嵌套结构
  Capture对象
第10章:PHP
 PHP的正则流派
 Preg函数接口
  “Pattern”参数
 Preg函数罗列
  preg_match
  preg_match_all
  preg_replace
  preg_replace_callback
  preg_split
  preg_grep
  preg_quote
 “缺失”的preg函数
  preg_regex_to_pattern
  对未知的Pattern参数进行语法检查
  对未知正则表达式进行语法检查
 递归的正则表达式
  匹配嵌套括号内的文本
  不能回溯到递归调用之内
  匹配一组嵌套的括号
 PHP效率
  模式修饰符S:“研究”
 扩展示例
  用PHP解析CSV
  检查tagged data的嵌套正确性
索引

Archiver| C114 ( 沪ICP备12002291号-1 )

GMT+8, 2024-11-22 02:58 , Processed in 0.034565 second(s), 5 queries , Gzip On.

Copyright © 1999-2023 C114 All Rights Reserved

Discuz Licensed

回顶部