Java正则表达式代码解析基础

正则验证

@Test
    public void verify(){
        String str = "abc_123";
        //数字字母下划线至少出现一次
        boolean rst = str.matches("\\w+");
        System.out.println(rst);
    }

结果:

在这里插入图片描述

正则分割

    @Test
    public void spllit(){
        String str = "adf.dasf-sdf;sdf";
        //分割标志.或-或;
        String[] split = str.split("\\.|;|-");
        for (String s : split) {
            System.out.println(s);
        }
    }

结果
在这里插入图片描述

正则替换

    @Test
    public void change(){
        String str = "我##爱$$...中--国";
        //去除中间的杂乱字符
        String str1 = str.replaceAll("[#$.-]", "");
        System.out.println(str1);
    }

结果:
在这里插入图片描述

正则分组

@Test
    public void grouping(){
        //hanset,apple;computer,huoying;pingban,apple;
        String str = "1,handset,iphone,8000;2,handset,sanxing,7000;3,handset,xiaomi,6500;";
//        String regex = "(\\d+),([a-z]),([a-z]+(\\d+?)),(\\d);";
        String regex = "(\\d+),([a-z]+),([a-z]+(\\d+)?),(\\d+);";
        Pattern pattern1 = Pattern.compile(regex);
        String regexCmm = "\\d+(.*?);";
        Pattern pattern = Pattern.compile(regexCmm);
        Matcher matcher = pattern.matcher(str);
        int start = 0;
        //进行第一次分组
        while (matcher.find(start)){
            String cmm = matcher.group(0);
            Matcher matcher1 = pattern1.matcher(cmm);
            //组内继续分组
            if (matcher1.find()){
                String cmmId = matcher1.group(1);
                String cmmType = matcher1.group(2);
                String cmmName = matcher1.group(3);
                String cmmPrice = matcher1.group(5);
                System.out.println("编号: "+cmmId);
                System.out.println("类型: "+cmmType);
                System.out.println("名称: "+cmmName);
                System.out.println("价格: "+cmmPrice);

            }
            start = matcher.end();
        }
        System.out.println(matcher.matches());
    }

实现效果:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

布丁味

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值