【The Java™ Tutorials】这个系列的博客是阅读Java官方教程做的笔记。关于Java的教程,网上有各种各样的资源,有很多总结得很好的博客,但是我觉得都没有看官方的教程来得直接、靠谱和全面。
【Regular Expressions】这个子系列是关于Java的正则表达式,介绍如何使用java.util.regex
包中的API。主要包含以下几部分:
1. Introduction
介绍Java中正则表达式的概念,以及一些主要的类。
2. Test Harness
一个简单的程序,用于测试如何用正则表达式进行模式匹配。
3. String Literals
介绍一些基础概念:模式匹配(pattern matching)、元字符(metacharacters)和引用(quoting)。
4. Character Classes
介绍character classes的概念:simple character classes, negation, ranges, unions, intersections and subtraction。
5. Predefined Character Classes
介绍一些基础的预定义的character classes:whitespace, word and digit characters。
6. Quantifiers
介绍量词:greedy vs. reluctant vs. possessive
7. Capturing Groups
介绍分组:将多个字符当成是一个整体。
8. Boundary Matchers
介绍匹配限定:line, word等
9. Methods of the Pattern Class
介绍Pattern
类中一些有用的方法。
10. Methods of the Matcher Class
介绍Matcher
类中一些有用的方法。
11. Methods of the PatternSytaxException Class
介绍如何检查和处理PatternSytaxException
异常。
12. Addional Resources
介绍一些其他的关于正则表达式的学习资源。
什么是正则表达式
Regular expressions are a way to describe a set of strings based on common characteristics shared by each string in the set.
不同的编程语言有不同的正则表达式语法,Java的正则表达式语法与Perl的最像。
Java中如何表示正则表达式
在java.util.regex
中,有三个主要的类:Pattern
, Matcher
和PatternSyntaxException
。
- A Pattern object is a compiled representation of a regular expression.
Pattern
没有提供public的构造器,要创造一个Pattern
的实例,要调用Pattern
提供的public static方法compile。compile接收一个字符串类型的参数,表示正则表达式。关于正则表达式的语法后面会介绍。 - A Matcher object is the engine that interprets the pattern and performs match operations against an input string. 和
Pattern
一样,Matcher
没有提供public的构造器,要创造一个Matcher
的实例,要调用Pattern
提供的public static方法matcher。matcher接收一个字符串类型的参数,表示要匹配的文本。 - A PatternSyntaxException object is an unchecked exception that indicates a syntax error in a regular expression pattern.