在java.util.regex包 中,包括了两个类,Pattern(模式类)和Matcher(匹配器类)。Pattern类是用来表达和陈述所要搜索模式的对象,Matcher类是真 正影响搜索的对象。另加一个新的例外类,PatternSyntaxException,当遇到不合法的搜索模式时,会抛出例外。
Matcher extends Object implements MatchResult
通过解释 Pattern
对 character sequence 执行匹配操作的引擎。
通过调用模式的 matcher
方法从模式创建匹配器。创建匹配器后,可以使用它执行三种不同的匹配操作:
每个方法都返回一个表示成功或失败的布尔值。通过查询匹配器的状态可以获取关于成功匹配的更多信息。
下面的一段代码实现的功能是,从一个文本文件逐行读入,并逐行搜索电话号码数字,一旦找到所匹配的,然后输出在控制台。
为简单起见,先构成一个正则表达式来识别下面格式的电话号码数字:(nnn)nnn-nnnn
BufferedReader in; Pattern pattern = Pattern.compile("\\(\\d{3}\\)\\s\\d{3}-\\d{4}"); in = new BufferedReader(new FileReader("phone")); String s; while ((s = in.readLine()) != null) { Matcher matcher = pattern.matcher(s); if (matcher.find()) { System.out.println(matcher.group()); } } in.close();