第8章 Java

04-13Ctrl+D 收藏本站

关灯 直达底部

Java

自2002年早期发布的Java 1.4.0以后,Java就内建了正则表达式包,java.util.regex,它的API毫不复杂(可以称得上简单),提供了强大而有创意的功能。对Unicode的支持很棒,文档很清晰,运行速度也很快。它能够用来匹配 CharSequence 对象,所以使用起来非常方便。

sjava.util.regex一经发布就给人留下了深刻印象。它的功能、速度和正确性都达到了非常高的水平,尤其是对初次发布的软件来说,更是如此。Java 1.4的最终版本是1.4.2。写作本书时,Java 1.5.0(也叫Java 5.0)已经发布,而Java 1.6.0(也叫Java 6.0)已经发布了第二个beta版本。本书针对的是Java 1.5.0,不过我会在合适的时候提到它与Java 1.4.2或Java 1.6.0之间的重要差异(这些差异的总结在本章末尾☞401)(注1)。

与之前各章的联系

在阅读本章之前,我必须说明,这一章不会重复第1 章到第6 章介绍的所有知识。有些只关心Java的读者可能会直接从这章开始阅读,我希望他们不要错过前言和开头几章的内容:第1、2、3 章介绍了正则表达式的基本概念、特性和技巧,第4、5、6 章包含了理解正则表达式的关键知识,它们可以直接应用到java.util.regex中。开头几章讲解的重要概念包括NFA引擎的工作原理、匹配优先性、回溯和效率。

表8-1:方法名索引(按字母、页码排序)

这张表格供简要查询,详细的API讲解从第371页开始。

在这里我还是要强调,尽管第367页的表格查阅起来很方便,第3章第114和第123页的表格也是如此,但本书的目的不是作为参考手册,而是“掌握”正则表达式的详细教程。前面几章已经出现过 java.util.regex 的例子(☞81、95、98、217、235),本章在讲解各种类及其实际应用时会给出更多的例子。不过,首先还是来看Java支持的正则流派,以及对应的修饰符。