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);//我要學編程

  }

}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM