1. 程式人生 > >Java學習日誌14.3 (第一階段基礎)

Java學習日誌14.3 (第一階段基礎)

2018.10.23 天氣陰
黑馬程式設計師養成記錄第3天

5_常見物件(正則表示式的分割功能)

新知識梗概:
正則表示式的分割功能
String類的功能:public String[] split(String regex)

根據匹配給定的正則表示式來拆分此字串
返回型別:String[ ]

程式碼練習
package com.heima.Regex;

public class demo5_Regex {  
public static void main(String[] args) {
	String s = " aaa bbb ccc ddd";
	String []arr1 = s.split(" ");		//空格作為正則表示式
	for (int i = 0; i < arr1.length; i++) {
		System.out.println(arr1[i]); 
	}
	System.out.println("-------");
	String s2 = "aaa.bbb.ccc.ddd";	//"."作為正則表示式
	String regex = "\\.";		//“\\”是轉義符
	 String []arr2 = s2.split(regex);
	for (int i = 0; i < arr2.length; i++) {
	      	System.out.print(arr2[i]);
	      	System.out.println();
			}	
}
}

程式結果:

aaa
bbb
ccc
ddd
-------
aaa
bbb
ccc
ddd

14.07_常見物件(常見物件(正則表示式的替換功能))

知識:正則表示式的替換功能
實現方法:String類的功能:public String replaceAll(String regex,String replacement) 將regex匹配的字元全部替換為replacement

程式碼練習;

package com.heima.Regex;

public class demo8_regex {
	public static void main(String[] args) {
		String  s1 = "wo321yao4cheng6132wei21hei233ma65644chengx2vyuan";	//數字字母混合字串
		String regex = "\\d";	// "\\d" 代表任意字串
		String s2 = s1.replaceAll(regex, "");	//將數字字元全部替換為空字元	
		System.out.println(s2);
	}
}

程式結果:
woyaochengweiheimachengxvyuan

17.08_常見物件(正則表示式的分組功能)

*知識:
捕獲組可以通過從左到右計算其開括號來編號。例如,在表示式 ((A)(B©)) 中,存在四個這樣的組:
*
1 ((A)(B©))
2 (A)
3 (B©)
4 ©
組零始終代表整個表示式。

public class demo9_regex {
	public static void main(String[] args) {
		//疊詞 快快樂樂,高高興興
		String regex = "(.)\\1(.)\\2";	//(.)\\1代表第一組又出現一次,(.)\\2代表第二組又出現一次
		System.out.println("快快樂樂".matches(regex));
		System.out.println("快快快樂".matches(regex));
		System.out.println("高高興興".matches(regex));
		System.out.println("----------");
		//疊詞  快樂快樂,高興高興
		String regex2 = "(..)\\1";	// 表示任意兩個字元成一組,第一組再出現一次
		System.out.println("快快樂樂".matches(regex2));
		System.out.println("快樂快樂".matches(regex2));
		System.out.println("高高興興".matches(regex2));
	}
}

程式結果:

true
false
true

false
true
false