码迷,mamicode.com
首页 > 编程语言 > 详细

Java语言学习(6)-Java中封装类(正则表达式操作类)

时间:2019-11-10 17:27:10      阅读:96      评论:0      收藏:0      [点我收藏+]

标签:compile   util   编译   his   java语言   调用   函数   placed   int   

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语言学习(6)-Java中封装类(正则表达式操作类)

标签:compile   util   编译   his   java语言   调用   函数   placed   int   

原文地址:https://www.cnblogs.com/yickel/p/11830874.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!