正则表达式分组

  1. (pattern):非命名捕获
  2. (?pattern):命名捕获。将匹配的子字符串捕获到一个组名称或编号名称中。用于name的字符串不能包含任何标点符号,并且不能以数字开头。可以使用单引号代替尖括号,例如(?‘name’)

请添加图片描述
请添加图片描述

package com.ftn.regexp;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

//演示正则表达式语法
public class Regexp_07 {
    public static void main(String[] args) {

        //非命名捕获
        //matcher.group(0):得到匹配到的字符串
        //matcher.group(1):得到匹配到的字符串的第一个分组内容
        //matcher.group(2):得到匹配到的字符串的第二个分组内容
        String content = "fsjj2564123589812..fns()$hjdks nbfsj dj,";
        String regStr = "(\\d\\d)(\\d\\d)";

        //?<>:命名捕获,可以为分组命名,取值时可以用组名
        String regStr2 = "(?<g1>\\d\\d)(?<g2>\\d\\d)";
        Pattern pattern = Pattern.compile(regStr2);
        Matcher matcher = pattern.matcher(content);
        while (matcher.find()){
            System.out.println(matcher.group(0));
            System.out.println("第一个分组内容:" + matcher.group(1));
            System.out.println("第一个分组内容(通过组名):" + matcher.group("g1"));
            System.out.println("第二个分组内容:" + matcher.group(2));
            System.out.println("第二个分组内容(通过组名):" + matcher.group("g2"));
        }
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值