Java Pattern和Matcher简介

Pattern类说明
指定为字符串的Java正则表达式必须首先被编译为pattern类的实例。然后,可将得到的模式用于创建 Matcher 对象,依照Java正则表达式,该对象可以与任意字符序列匹配。执行匹配所涉及的所有状态都驻留在匹配器中,所以多个匹配器可以共享同一模式。
因此,典型的调用顺序是:
Pattern p = Pattern.compile("a*b"); 

Matcher m = p.matcher("aaaaab"); 

boolean b = m.matches();

也可以使用下面的形式:

Pattern.compile(phonePattern).matcher(phone).matches()

在仅使用一次正则表达式时,可以方便地通过pattern类定义 matches 方法。此方法编译表达式并在单个调用中将输入序列与其匹配。

语句
boolean b = Pattern.matches("a*b", "aaaaab");
等效于上面的三个语句,尽管对于重复的匹配而言它效率不高,因为它不允许重用已编译的模式。
此类的实例是不可变的,可供多个并发线程安全使用。Matcher 类的实例用于此目的则不安全。
Matcher类说明
通过调用模式的 matcher 方法从模式创建匹配器。创建匹配器后,可以使用它执行三种不同的匹配操作:
matches   方法尝试将整个输入序列与该模式匹配。
(注:当调用String的matches()方法时,实际上是调用Pattern的静态方法matches().也就是相当于调Matcher的matches(),所以是整个输入序列与模式匹配.)
lookingAt  尝试将输入序列从头开始与该模式匹配。
find     方法扫描输入序列以查找与该模式匹配的下一个子序列。 
此类的实例用于多个并发线程是不安全的。

 

 

你可能感兴趣的:(JAVA)