最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java正則表達式的替換和分組功能

 更新時間:2020年09月02日 10:35:40   作者:Anthony_tester  
這篇文章主要給大家介紹了關于Java正則表達式的替換和分組功能的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

前言

這篇來學習正則表達式的替換和分組功能,替換很好理解,分組有點復雜,特別是如何寫有效的分組的正則表達式。這篇通過幾個練習,簡單了解下替換和分組功能。

1.替換功能

在String類有一個替換功能的方法,結合正則表達式去實現(xiàn)替換,下面是replaceAll()方法的舉例。

package regex;
 
public class Demo1_Regex {
	
	public static void main(String[] args) {
		String str = "wo1shi2zhong3guo4ren";
		//需要替換得到 wo shi zhong guo ren
		//寫一個正則,用空字符替換原字符串的任意數(shù)字
		String regex = "\\d"; // \d表示任意數(shù)字
		
		String target = str.replaceAll(regex, " ");
		System.out.println(target);
	}
 
}

2.分組功能

先來看看什么是分組,在API 中Pattern這個類介紹是這樣描述的:

捕獲組可以通過從左到右計算其開括號來編號。例如,在表達式 ((A)(B(C))) 中,存在四個這樣的組:

1    

((A)(B(C)))

2    

(A)

3    

(B(C))

4    

(C)

我們可以根據(jù)數(shù)多少個左括號來確定有多少個組。

下面來代碼舉例分組的正則表達式用法。

package regex;
 
public class Demo1_Regex {
	
	public static void main(String[] args) {
		// 1疊詞:快快樂樂,高高高興興
		// 判斷字符串是否是上面的疊詞規(guī)則
		String regex = "(.)\\1(.)\\2"; // 這個正則表達式表示 快快樂樂這樣的疊詞
		// 上面(.)表示一個分組,里面.表示任意字符,\\1表示組1又出現(xiàn)了一次,\\2表示組2又出現(xiàn)了一次
		System.out.println("快快樂樂".matches(regex));
		System.out.println("快樂快樂".matches(regex));
		System.out.println("高高興興".matches(regex));
		System.out.println("快樂樂樂".matches(regex));
	}
 
}

那么如何寫“快樂快樂”這樣疊詞的正則表達式呢。這么去分析一下,字符串“快樂快樂”,可以認為“快樂”這個組又出現(xiàn)了一次,結合上面代碼提到的知識,我們應該這樣寫。

package regex;
 
public class Demo1_Regex {
	
	public static void main(String[] args) {
		// 1疊詞:快樂快樂
		String regex = "(..)\\1"; 
		System.out.println("快快樂樂".matches(regex));
		System.out.println("快樂快樂".matches(regex));
	}
 
}

練習1:按照疊詞進行切割

請按照疊詞進行切割“sdqqfgkkkhjppppdk”

package regex;
 
public class Demo1_Split {
 
	public static void main(String[] args) {
		String st = "sdqqfgkkkhjppppkl"; 
		String[] arr = st.split("(.)\\1+");
		
		for (int i = 0; i < arr.length; i++) {
			System.out.println(arr[i]);
		}
	}
}

輸出

sd

fg

hj

kl

總結

到此這篇關于Java正則表達式的替換和分組功能的文章就介紹到這了,更多相關Java正則的替換和分組內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Java 二分查找的實現(xiàn)及圖例解析

    Java 二分查找的實現(xiàn)及圖例解析

    這篇文章主要介紹了Java 二分查找的實現(xiàn),幫助大家更好的理解和使用Java,感興趣的朋友可以了解下
    2020-12-12
  • Netty學習教程之Netty與Marshalling結合發(fā)送對象

    Netty學習教程之Netty與Marshalling結合發(fā)送對象

    Netty是由JBOSS提供的一個Java開源框架,之前已經(jīng)給大家簡單介紹了一些基礎與使用,下面這篇文章主要給大家介紹了關于Netty與Marshalling結合發(fā)送對象的相關資料,需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-05-05
  • 深入淺析springsecurity入門登錄授權

    深入淺析springsecurity入門登錄授權

    SpringSecurity為我們提供了基于注解的權限控制方案,這也是我們項目中主要采用的方式,我們可以使用注解去指定訪問對應的資源所需的權限,這篇文章主要介紹了springsecurity入門登錄授權,需要的朋友可以參考下
    2024-05-05
  • Java中的訪問修飾符詳細解析

    Java中的訪問修飾符詳細解析

    以下是對Java中的訪問修飾符進行了詳細的分析介紹,需要的朋友可以過來參考下
    2013-09-09
  • Java如何實現(xiàn)圖像的卷積效果

    Java如何實現(xiàn)圖像的卷積效果

    這篇文章主要介紹了Java如何實現(xiàn)圖像的卷積效果問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-03-03
  • 教你一步解決java.io.FileNotFoundException:找不到文件異常

    教你一步解決java.io.FileNotFoundException:找不到文件異常

    這篇文章主要給大家介紹了關于如何一步解決java.io.FileNotFoundException:找不到文件異常的相關資料,文中通過圖文以及代碼介紹的非常詳細,需要的朋友可以參考下
    2024-01-01
  • 使用SpringBoot的CommandLineRunner遇到的坑及解決

    使用SpringBoot的CommandLineRunner遇到的坑及解決

    這篇文章主要介紹了使用SpringBoot的CommandLineRunner遇到的坑及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • Lombok在idea中的使用教程

    Lombok在idea中的使用教程

    Lombok是一個可以通過簡單的注解形式,來幫助我們簡化消除一些必須有但顯得很臃腫(如果getter、setter方法)的Java代碼的工具,通過使用對應的注解,可以在編譯源碼的時候生成對應的方法,這篇文章主要介紹了Lombok在idea中的使用,需要的朋友可以參考下
    2023-03-03
  • java String源碼和String常量池的全面解析

    java String源碼和String常量池的全面解析

    下面小編就為大家分享一篇java String源碼和String常量池的全面解析,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2017-12-12
  • Spring Security賬戶與密碼驗證實現(xiàn)過程

    Spring Security賬戶與密碼驗證實現(xiàn)過程

    這篇文章主要介紹了Spring Security賬戶與密碼驗證實現(xiàn)過程,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習吧
    2023-03-03

最新評論

杭锦旗| 竹山县| 天等县| 广东省| 德令哈市| 会昌县| 乐业县| 金门县| 封丘县| 佳木斯市| 南京市| 廊坊市| 工布江达县| 馆陶县| 东兴市| 禹州市| 临漳县| 南澳县| 徐州市| 仁寿县| 光山县| 山西省| 郴州市| 伊金霍洛旗| 呼伦贝尔市| 江门市| 申扎县| 海盐县| 仁布县| 土默特左旗| 桂东县| 桂平市| 德庆县| 凌云县| 永胜县| 沽源县| 安平县| 新民市| 内丘县| 深水埗区| 台安县|