.NET
Microsoft的.NET Framework中可以使用Visual Basic、C#和C++(以及其他许多语言),.NET提供了公用的正则表达式库,统一了不同语言之间的正则表达式语意。它的引擎特性完备,功能强大,容许我们在速度和便利之间求得最大的均衡(注1)。
每种语言在处理对象和方法时都有不同的语意,但是某些基本的对象和方法在所有语言中都是相通的,所以不管使用哪种语言编写的复杂例子,都可以直接转换到.NET语言套件中的其他语言中。本章中的例子使用Visual Basic。
与之前各章的联系 在开始本章的内容之前必须说明,第1到6章的基础知识对理解本章非常重要。我猜测,有些只对.NET有兴趣的读者可能会从本章开始阅读这本书,我希望他们认真地读一读前言(尤其是体例部分)和前面的章节:第 1、2、3 章介绍了与正则表达式相关的基本概念、特性和技术,第 4、5、6 章介绍了一些理解正则表达式的关键知识,它们可以直接应用到.NET的正则表达式中。前几章讲解的重要概念包括NFA引擎进行匹配的基本原理、匹配优先性、回溯和效率。
接下来要强调的是,除了用于速查列表——例如本章的第407页,和第3章从第114页到第123页,我并不希望这本书成为参考手册,而希望它成为精通正则表达式的详细教科书。
本章首先介绍.NET的正则流派,包括元字符的支持事宜,以及.NET程序员必须面对的特殊问题。然后是总括.NET中正则表达式相关的对象模型,详细讲解居于核心地位的,与正则表达式相关的类。最后用例子来说明,如何将预先构建好的正则表达式封装到共享的装配件(assembly)中,组成个人的正则表达式库。