Java语言学习(6)-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的返回值中。

 

更多正则表达式方法具体的类定义。

猜你喜欢

转载自www.cnblogs.com/yickel/p/11830874.html