出版时间:2012-7 出版社:电子工业出版社 作者:杰佛瑞E.F.佛瑞德 页数:515 译者:余晟
Tag标签:无
内容概要
随着互联网的迅速发展,几乎所有工具软件和程序语言都支持的正则表达式也变得越来越强大和易于使用。本书是讲解正则表达式的经典之作。本书主要讲解了正则表达式的特性和流派、匹配原理、优化原则、实用诀窍以及调校措施,并详细介绍了正则表达式在perl、java、.net、php中的用法。
作者简介
作者:(美国)杰佛瑞E.F.佛瑞德(Jeffrey E.F.Friedl) 译者:余晟
书籍目录
前言
第1章 正则表达式入门
第2章 入门示例拓展
第3章 正则表达式的特性和流派概览
第4章 表达式的匹配原理
第5章 正则表达式实用技巧
第6章 打造高效正则表达式
第7章 Perl
第8章 Java
第9章 .Net
第10章 PHP
索引
章节摘录
版权页: 插图: 一种类型的环视叫“顺序环视(lookahead)”,作为表达式的一部分,顺序环视顺序(从左至右)查看文本,尝试匹配子表达式,如果能够匹配,就返回匹配成功信息。肯定型顺序环视(positive lookahread)用特殊的序列(?=…)来表示,例如(?=\d),它表示如果当前位置右边的字符是数字则匹配成功。另一种环视称为逆序环视,它逆序(从右向左)查看文本。它用特殊的序列(?<=…)表示,例如(?<=\d),如果当前位置的左边有一位数字,则匹配成功(也就是说,紧跟在数字后面的位置)。 环视不会“占用”字符 在理解顺序环视和其他环视功能时需要特别注意一点,即在检查子表达式能否匹配的过程中,它们本身不会“占用”任何文本。这可能有点难懂,所以我准备了下面的例子。正则表达式Jeffrey匹配: 但同样的正则表达式,如果使用顺序环视功能,即(?=Jeffrey),则匹配标记的位置: 顺序环视会检查子表达式能否匹配,但它只寻找能够匹配的位置,而不会真正“占用”这些字符。不过,把顺序环视和真正匹配字符的部分——例如Jeff——结合起来,我们能得到比单纯的Jeff更精确的结果。结合之后的正则表达式是(?=Jeffrey)Jeff,下一页的图说明,它只能匹配“Jeffrey”这个单词中的“Jeff”。它能够匹配: 在此处它的匹配和单纯的Jeff一样,但是下面的情况不会匹配: Jeff自己能够匹配这一行,但是因为不存在(?=Jeffrey)能够匹配的位置,整个表达式就无法匹配。现在环视的好处还看得不是很明显,但是请不用担心,现在我们只需要关心顺序环视的原理——我们很快会遇到能够充分展现其价值的例子。
编辑推荐
《精通正则表达式(第3版)》由电子工业出版社出版。
名人推荐
“如果你的工作需要用到正则表达式(即便你已经有本很不错的关于开发语言的书),我还是要向你强烈推荐本书。” ——Dr.Chris Brown,Linux Format “毫不夸张地说,《精通正则表达式(第3版)》是学习该工具的不二选择,也是每个程序员必备的杰作。” ——Jason Menard.Java Ranch “所有关于正则表达式的书中,找不到比这更好的了。” ——Zak Greant,Planet PHP
图书封面
图书标签Tags
无
评论、评分、阅读与下载