正则总结

boolean istag = "dabainzhenhaoo".matches("^[a-zA-Z]\\w{5,19}");

        System.out.println(istag);

        String hong = "中国歌手出国前选拔赛金奖,同年在文化部等举办的歌唱\"孔繁森\"声乐作品赛获创作金奖、演唱金奖。从1996年开始为其它歌手担任词曲创作及制作工作,主要作品《晚安我的爱》,《中华民族》,《拥你一起飞》等,并先后为《隋唐演义》、《片儿警》、《野火春风斗古城》等电视剧演唱主题曲";
        // 搜索
        Pattern p = Pattern.compile("(?<=《).{3,7}(?=》)");
        Matcher matcher = p.matcher(hong);
        while (matcher.find()) {
            String string = matcher.group();
            System.out.print(string + " ");
        }
        // 替换
        String deString = "我的电话17096670709 你的电话13513531234";
        String newDes = deString.replaceAll("1[34785]\\d{9}", "电话");
        System.out.println(newDes);

        // 分割
        String[] deStrings = deString.split("1[34578]\\d{9}");
        System.out.println(Arrays.toString(deStrings));

        // 时间类
        Date date = new Date();
        System.out.println(date);

        // 计算两个时间的时间差
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy:MM:dd HH:mm:ss");

String string = "good good study, day day up";
        
        String regex = "[a-z]{3,}\\b";
        // 1, 将正则封装成对象。
        Pattern pattern = Pattern.compile(regex);
        // 2, 通过正则对象获取匹配器对象。
        Matcher matcher = pattern.matcher(string);
        // 3, 通过Matcher匹配器对象的方法对字符串进行操作。
        System.out.println(matcher.matches());
        // 要获取三个或以上字母组成的单词
        // 使用Matcher对象的方法对字符串进行操作 --- find();
        while (matcher.find()) {
            System.out.println(matcher.group());// 获取匹配的子序列
            
        }
[ ]方括号匹配方式,能够匹配方括号中任意一个字符
[ab5@]  匹配 "a" 或 "b" 或 "5" 或 "@" 
[^ abc] 匹配 "a","b","c" 之外的任意一个字符 
[f-k]   匹配 "f"~"k" 之间的任意一个字母 
[^A-F0-3]   匹配 "A"~"F","0"~"3" 之外的任意一个字符

注意:^ 写到方括号内时表示取非的含义
\d  任意一个数字,0~9 中的任意一个 
\w  任意一个字母或数字或下划线,也就是 A~Z,a~z,0~9,_ 中任意一个 
\s   包括空格、制表符、换行符等空白字符的其中任意一个 
.     小数点可以匹配除了换行符(\n)以外 的任意一个字符 

注意:区分大小写,大写是相反的意思

{n} 表达式重复n次 
{m,n}   表达式至少重复m次,最多重复n次 
{m,}    表达式至少重复m次 
  ? 匹配表达式0次或者1次,相当于 {0,1}
  + 表达式至少出现1次,相当于 {1,} 
  * 表达式不出现或出现任意次,相当于 {0,} 
String string = "https://www.ioser.com";
        System.out.println(string.endsWith(".com"));
        System.out.println(string.startsWith("www"));

        //.需要用\\转义
        String[] strings = string.split("\\.");
        
        for (int i = 0; i < strings.length; i++) {
            System.out.println(strings[i]);
        }
        
        System.out.println(Arrays.toString(strings));
        
        //正则验证网址
        boolean a = string.matches("^([hH][tT]{2}[pP]://|[hH][tT]{2}[pP][sS]://)(([A-Za-z0-9-~]+).)+([A-Za-z0-9-~\\/])+$");
        System.out.println(a);

你可能感兴趣的:(正则总结)