您的位置:首页 > 编程语言

正则表达式使用代码片段

2012-10-12 17:34 204 查看
在java.util.regex包 中,包括了两个类,Pattern(模式类)和Matcher(匹配器类)。Pattern类是用来表达和陈述所要搜索模式的对象,Matcher类是真 正影响搜索的对象。另加一个新的例外类,PatternSyntaxException,当遇到不合法的搜索模式时,会抛出例外。

Matcher extends Object implements MatchResult

通过解释
Pattern
character sequence 执行匹配操作的引擎。

通过调用模式的
matcher
方法从模式创建匹配器。创建匹配器后,可以使用它执行三种不同的匹配操作:

matches
方法尝试将整个输入序列与该模式匹配。

lookingAt
尝试将输入序列从头开始与该模式匹配。

find
方法扫描输入序列以查找与该模式匹配的下一个子序列。

每个方法都返回一个表示成功或失败的布尔值。通过查询匹配器的状态可以获取关于成功匹配的更多信息。

下面的一段代码实现的功能是,从一个文本文件逐行读入,并逐行搜索电话号码数字,一旦找到所匹配的,然后输出在控制台。

为简单起见,先构成一个正则表达式来识别下面格式的电话号码数字:(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();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: