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);//我要学编程

      }

    }

  • 相关阅读:
    iOS总结_UI层自我复习总结
    runtime梳理。
    页面传值。顺传,逆传。
    用1 + 2 = 3诠释面向对象思想
    循环逻辑。让我逻辑滞空的小题目
    const,static,extern 简介
    swift webView的高度自适应内容
    Swift之UITabBarController 导航控制器颜色的改变
    swift 启动图片的设置
    swift 中使用OC第三方库(以AFNetworking为例)
  • 原文地址:https://www.cnblogs.com/zhujialei123/p/8179506.html
Copyright © 2011-2022 走看看