Java學習日誌14.3 (第一階段基礎)
阿新 • • 發佈:2018-11-03
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