A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© xiaojunru 中级黑马   /  2016-3-10 20:55  /  332 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

package com.heima.regex;

public class Demo7_Regex {

    /**
     * * A:正则表达式的分组功能
            * 捕获组可以通过从左到右计算其开括号来编号。例如,在表达式 ((A)(B(C))) 中,存在四个这样的组:
        *
                1     ((A)(B(C)))
                2     (A
                3     (B(C))
                4     (C)
            
                组零始终代表整个表达式。
        B:案例演示
            a:切割
                需求:请按照叠词切割: "sdqqfgkkkhjppppkl";
            b:替换
                需求:我我....我...我.要...要要...要学....学学..学.编..编编.编.程.程.程..程
                将字符串还原成:“我要学编程”。
     */

    public static void main(String[] args) {
        //demo1();
        //demo2();
        
        /*
         * 需求:我我....我...我.要...要要...要学....学学..学.编..编编.编.程.程.程..程
                将字符串还原成:“我要学编程”。
         */

        String s = "我我....我...我.要...要要...要学....学学..学.编..编编.编.程.程.程..程";
        String s2 = s.replaceAll("\\.+", "");
        String s3 = s2.replaceAll("(.)\\1+", "$1");    //$1代表第一组中的内容
        System.out.println(s3);
    }

    public static void demo2() {
        //需求:请按照叠词切割: "sdqqfgkkkhjppppkl";
        String s = "sdqqfgkkkhjppppkl";
        String regex = "(.)\\1+";                    //+代表第一组出现一次到多次
        String[] arr = s.split(regex);
        
        for (int i = 0; i < arr.length; i++) {
            System.out.println(arr);
        }
    }

    public static void demo1() {
        //叠词 快快乐乐,高高兴兴
        /*String regex = "(.)\\1(.)\\2";                    //\\1代表第一组又出现一次    \\2代表第二组又出现一次
        System.out.println("快快乐乐".matches(regex));
        System.out.println("快乐乐乐".matches(regex));
        System.out.println("高高兴兴".matches(regex));
        System.out.println("死啦死啦".matches(regex));*/

        
        //叠词 死啦死啦,高兴高兴
        String regex2 = "(..)\\1";
        System.out.println("死啦死啦".matches(regex2));
        System.out.println("高兴高兴".matches(regex2));
        System.out.println("快快乐乐".matches(regex2));
    }

}

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马