Java Pattern+Matcher+GroupSize使用

Java Pattern+Matcher+GroupSize使用

Pattern

define a pattern

        String regex = "(\\d+)(123)(\\.)([0-9]*)";
        Pattern pattern = Pattern.compile(regex);

Matcher

group是针对()来说的,group(0)就是指的整个串,group(1) 指的是第一个括号里的东西,group(2)指的第二个括号里的东西

example 1

public class Main {
    public static void main(String[] args) {
        String regex = "(\\d+)(123)(\\.)[0-9]*";
        Pattern pattern = Pattern.compile(regex);
        Matcher matcher = pattern.matcher("123123.123");
        System.out.println(matcher.groupCount());
        if(matcher.find()){
            for (int i = 0; i <= matcher.groupCount(); i++) {
                    System.out.println("Group " + i);
                    System.out.println(matcher.group(i));
            }
        }
    }
}

Output1

3
Group 0
123123.123
Group 1
123
Group 2
123
Group 3
.

example 2

public class Main {
    public static void main(String[] args) {
        String regex = "(\\d+)(123)(\\.)([0-9]*)";
        Pattern pattern = Pattern.compile(regex);
        Matcher matcher = pattern.matcher("123123.123");
        System.out.println(matcher.groupCount());
        if (matcher.find()) {
            for (int i = 0; i <= matcher.groupCount(); i++) {
                System.out.println("Group " + i);
                System.out.println(matcher.group(i));
            }
        }
    }
}

Output2

4
Group 0
123123.123
Group 1
123
Group 2
123
Group 3
.
Group 4
123
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值