zoukankan      html  css  js  c++  java
  • java-正则表达式8

    package com.day10.Regex正则表达式;

    public class Demo8Regex {

      /**
      * @param args
      * 常见对象(正则表达式的分组功能)
      * 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) {
        //叠词 快快乐乐,高高兴兴
        String regex="(.)\1(.)\2";//\1代表第一组又出现一次,\2代表第二组又出现一次
        System.out.println("快快乐乐".matches(regex));//true

        //叠词 高兴高兴
        String regex2="(..)\1";
        System.out.println("高兴高兴".matches(regex));//false

        String s="sdqqfgkkkhjppppkl";
        String regex3="(.)\1+";//+代表第一组出现一次到多次
        String[] arr=s.split(regex3);
        for (int i = 0; i < arr.length; i++) {
          System.out.print(arr[i]);//sdfghjkl
        }
        System.out.println();

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

      }

    }

  • 相关阅读:
    「golang」go-micro指定consul地址
    「postgres」无数据则插入,有数据不做插入
    「postgres」导出数据以及分割数据
    「postgre」调整表结构
    「postgre」查看DB的物理占用空间
    「postgre」INT最大值
    「postgre」服务重启
    「golang」关于TIME_WAIT优化
    深入理解Spring Boot属性配置文件
    springboot 中的commandLineRunners接口
  • 原文地址:https://www.cnblogs.com/zhujialei123/p/8179506.html
Copyright © 2011-2022 走看看