Java语言学习-Java中封装类(正则表达式操作类)
Posted 小拙笔记
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java语言学习-Java中封装类(正则表达式操作类)相关的知识,希望对你有一定的参考价值。
java中封装的正则表达式
Java封装了正则表达式处理的类,在java.util.regex包中。主要包含如下三个类:
1) Pattern类
Pattern类是对一个正则表达式的编译表示。
Pattern类没有公共构造函数。要创建一个Pattern对象,必须制定一个正则表达式,通过调用器公共静态编译方法,返回一个Pattern对象。样例:
Patternr=Pattern.compile(""(1*)(a+)(.*)"");
2) Matcher类
Matcher对象是对输入的字符串根据正则表达式进行解析和匹配的引擎。
Matcher也没有公共构造函数,需要调用Pattern对象的matcher方法来返回一个Matcher对象。样例:
Matcherm=Pattern.matcher("123456abcef");//根据正则表达式对象,匹配参数中的字符串
3) PatternSyntaxException类
PatternSyntaxException是一个非强制异常类,它表示一个正则表达式模式中的语法错误。
举例(代码片段):
Stringline="ThisorderwasplacedforQT3000!OK?";
Stringpattern="(\D*)(\d+)(.*)";
//创建Pattern对象
Patternr=Pattern.compile(pattern);
//现在创建matcher对象
Matcherm=r.matcher(line);
if(m.find()){
System.out.println("Foundvalue:"+m.group(0));
System.out.println("Foundvalue:"+m.group(1));
System.out.println("Foundvalue:"+m.group(2));
System.out.println("Foundvalue:"+m.group(3));
}
输出结果:
Foundvalue:ThisorderwasplacedforQT3000!OK?
Foundvalue:ThisorderwasplacedforQT
Foundvalue:3000
Foundvalue:!OK?
matcher 对象的 groupCount 方法返回一个 int 值,表示matcher对象当前有多个捕获组。还有一个特殊的组(group(0)),它总是代表整个表达式。该组不包括在groupCount的返回值中。
更多正则表达式方法具体的类定义。
以上是关于Java语言学习-Java中封装类(正则表达式操作类)的主要内容,如果未能解决你的问题,请参考以下文章
Java—API/Obiect类的equals toString方法/String类/StringBuffer类/正则表达式