在javautilregex包 中包括了两个类Pattern(模式类)和Matcher(匹配器类)Pattern类是用来表达和陈述所要搜索模式的对象Matcher类是真 正影响搜索的对象另加一个新的例外类PatternSyntaxException当遇到不合法的搜索模式时会抛出例外 Matcher extends Object implements MatchResult 通过解释 Pattern 对 character sequence 执行匹配操作的引擎 通过调用模式的 matcher 方法从模式创建匹配器创建匹配器后可以使用它执行三种不同的匹配操作 matches 方法尝试将整个输入序列与该模式匹配 lookingAt 尝试将输入序列从头开始与该模式匹配 find 方法扫描输入序列以查找与该模式匹配的下一个子序列 每个方法都返回一个表示成功或失败的布尔值通过查询匹配器的状态可以获取关于成功匹配的更多信息 下面的一段代码实现的功能是从一个文本文件逐行读入并逐行搜索电话号码数字一旦找到所匹配的然后输出在控制台 为简单起见先构成一个正则表达式来识别下面格式的电话号码数字(nnn)nnnnnnn BufferedReader in;Pattern pattern = pile(\\(\\d{}\\)\\s\\d{}\\d{})in = new BufferedReader(new FileReader(phone))String s;while ((s = inreadLine()) != null){ Matcher matcher = patternmatcher(s) if (matcherfind()) { Systemoutprintln(matchergroup()) }}inclose() |