广州北大青鸟计算机职业培训学校
互联网技术培训、软件技术培训、大数据培训、云计算培训、数据分析培训信息网
当前位置:网站首页 > 软件教程 > Java技术 > 正文

惠州什么是捕获组?_北大青鸟IT计算机学校

作者:邓华发布时间:2021-01-11分类:Java技术浏览:915


导读:什么是捕获组?惠州北大青鸟老师为你解答,捕获组是把多个字符当一个单独单元进行处理的方法,它通过对括号内的字符分组来创建。

什么是捕获组?惠州北大青鸟老师为你解答,捕获组是把多个字符当一个单独单元进行处理的方法,它通过对括号内的字符分组来创建。

例如,正则表达式(dog) 创建了单一分组,组里包含"d","o",和"g"。

捕获组是通过从左至右计算其开括号来编号。例如,在表达式((A)(B(C))),有四个这样的组:

((A)(B(C)))

(A)

(B(C))

(C)

可以通过调用matcher对象的groupCount方法来查看表达式有多少个分组。groupCount方法返回一个int值,表示matcher对象当前有多个捕获组。

还有一个特殊的组(组0),它总是代表整个表达式。该组不包括在groupCount的返回值中。

实例

下面的例子说明如何从一个给定的字符串中找到数字串:

import java.util.regex.Matcher;

 import java.util.regex.Pattern;


 public class RegexMatches {

     public static void main( String args[] ){


       // 按指定模式在字符串查找

       String line = "This order was placed for QT3000! OK?";

       String pattern = "(.*)(\\d+)(.*)";


       // 创建 Pattern 对象

       Pattern r = Pattern.compile(pattern);


       // 现在创建 matcher 对象

       Matcher m = r.matcher(line);

       if (m.find( )) {

          System.out.println("Found value: " + m.group(0) );

          System.out.println("Found value: " + m.group(1) );

          System.out.println("Found value: " + m.group(2) );

       } else {          System.out.println("NO MATCH");

       }

    }

 }

以上实例编译运行结果如下:

Found value: This order was placed for QT3000! OK?

 Found value: This order was placed for QT300

 Found value: 0

想了解更多关于Java软件开发的资讯,可以来惠州北大青鸟新方舟校区了解一下。

Java.png

Java

标签:惠州计算机JAVA软件开发惠州计算机Java软件开发惠州计算机JAVA培训惠州计算机JAVA软件开发学校惠州计算机Java软件开发培训JAVAJava软件开发


Java技术排行
标签列表
网站分类
文章归档
最近发表