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类/正则表达式

使用Java操作正则表达式

java7JDK的常用封装类型

第3章 包装类&正则表达式

java正则表达式

Java正则表达式