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

      }

    }

  • 相关阅读:
    在bindingNavigator1中加入具有更好体验性的DateTimePicker
    static的初始化顺序 (转)
    C#数据结构求最大公约数和最小公倍数[辗转相除法]
    DataGridView控件显示行号
    C# 小票打印机 直接打印 无需驱动[转]
    Core Data 中遇到的一些问题
    字符指针不分配存储区,字符常量存储于静态数据区
    传送门
    Error Set
    实现类似iPhone通讯录新增名片,保存,之后可进行编辑操作的功能
  • 原文地址:https://www.cnblogs.com/zhujialei123/p/8179506.html
Copyright © 2011-2022 走看看