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

      }

    }

  • 相关阅读:
    创建分区表(按照年份分区,自动新增分区)
    flash rock me
    苹果有虫才好吃
    Evolutility改造支持oracle
    Nhibernate问题三则
    Html5+razor+jqmobile尝鲜
    配置Instantclient
    T4,Redmine,Nhibernate etc
    monotouch开发ios应用手记
    大文件及文件夹上传(续)
  • 原文地址:https://www.cnblogs.com/zhujialei123/p/8179506.html
Copyright © 2011-2022 走看看