【Regular—組】舉個 組 應用的小例子。

第一步:show codejava

package com.test.generic;

public class RegoxDemo2 {

	/**
	 * 正則表達式對字符的常見操做。
	 * 1.匹配
	 * 			實際上是String類中的metches方法
	 * 2.切割
	 * 			其實就是String類中的split方法。
	 * 3.替換
	 * 4.獲取
	 */
	public static void main(String[] args) {
		
		functionDemo_2();
	}
	
	/**
	 * 切割.
	 */
	public static void functionDemo_2(){
		String str = "zhangsanttttxiaoqiangmmmmmmzhaoliu";
		String [] names = str.split("(.)\\1+"); // 以 「 」(空格)爲切割標識符,+號表示空格出現一次或者屢次
		for (String name : names){
			System.out.println(name);
		}
	}

}

控制檯輸出 : 正則表達式

zhangsan
xiaoqiang
zhaoliu

二: 效果如上所示,長字符串 函數

"zhangsanttttxiaoqiangmmmmmmzhaoliu"

中的 ttttt mmmmmm都被除去,真乃字符串切割的利器啊---spa

3、其實主要是這句代碼: code

String [] names = str.split("(.)\\1+");

 . 表明匹配除換行符 \n以外的任何單字符字符串

(.) 表明一個表達式,或者說一個組,至關於java裏面的一個函數。 
\1表明後向引用(\\1表明),表示表達式中,從左往右數,第一個左括號對應的括號內的內容。
\\1 在第二個位置上出現,表示第二個位置上的字符和第一個字符同樣。
+號表明出現一次或屢次、
PS:可能我對Regular理解不到位,因此描述不詳細,還懇求各位指正。
相關文章
相關標籤/搜索