本教程是针对JDK 8编写的。本页面中描述的示例和实践未利用后续版本引入的改进,并可能使用已不再可用的技术。
请参阅Java语言变更了解Java SE 9及后续版本中更新的语言特性摘要。
请参阅JDK发布说明了解所有JDK版本的新功能、增强和已删除或弃用选项的信息。
正则表达式是一种根据集合中每个字符串共同特征描述字符串集合的方式。它们可以用于搜索、编辑或操作文本和数据。您必须学习一种特定的语法来创建正则表达式,这种语法超出了Java编程语言的正常语法。正则表达式的复杂程度各不相同,但一旦您理解了它们的基本构造方式,您就能够解读(或创建)任何正则表达式。
本教程教授的是由java.util.regex
API支持的正则表达式语法,并提供了多个工作示例,以说明各种对象之间的交互。在正则表达式的世界中,有许多不同的风格可供选择,如grep、Perl、Tcl、Python、PHP和awk。 java.util.regex
API中的正则表达式语法最类似于Perl中的语法。
java.util.regex
包主要由三个类组成:Pattern
、Matcher
和PatternSyntaxException
。
Pattern
对象是正则表达式的编译表示形式。 Pattern
类没有公共构造函数。要创建一个模式,必须首先调用其public static compile
方法之一,该方法将返回一个Pattern
对象。这些方法接受一个正则表达式作为第一个参数;本教程的前几个课程将教您所需的语法。Matcher
对象是解释模式并执行与输入字符串的匹配操作的引擎。与Pattern
类一样,Matcher
没有定义公共构造函数。您可以通过在Pattern
对象上调用matcher
方法来获取一个Matcher
对象。PatternSyntaxException
对象是在正则表达式模式中发现语法错误的未经检查的异常。本教程的最后几节将详细探讨每个类。但首先,您必须了解如何实际构造正则表达式。因此,下一节将介绍一个简单的测试工具,该工具将反复用于探索正则表达式的语法。