1. 程式人生 > >01:java正則表示式

01:java正則表示式

01:java正則表示式:一般說來,正則表示式就是以某種方式來描述字串

package regularExpression;

import java.util.Arrays;

public class IntegerMatch {
	public static void main(String[] args) {

		// 這裡使用matchs方法來判斷一字串是否是符合我們指定的字串規則,如果是,就返回true,不是就返回false
		System.out.println("----1234".matches("(-?)+\\d+"));// 開頭可能有多個“-”,也可能沒得。\\d表示數字,後邊的+表示,可以有多個
		System.out.println("1234".matches("-?\\d+"));// 開頭有一個“-”,也可能只有0個“-”,後邊數字可以有多個
		System.out.println("-1".matches("-?\\d"));// 開頭可以有0或者1個“-”,但是有一個數字
		System.out.println("-".matches("-?\\d"));// 開頭可以有0或者1個“-”,不能有數字
		System.out.println("-1234".matches("(-|\\+)?\\d+"));// 這裡|表示“或”,由於+是特殊字元,所以需要轉義一波,這裡使用兩個反斜槓表示轉義(識別成一個字元,而不是特殊意義的字元)

		// 下邊使用split分割,裡面可以傳入字串,也可以使用字串正則表示式
		String str = "hello,'' big, face /cat ...students";
		String[] arr1 = str.split(" ");// 空格分割
		System.out.print("第一個字串:");
		System.out.println(Arrays.toString(arr1));
		String[] arr2 = str.split("\\w+");// \\w是小寫的w是表示一個單詞字元
		System.out.print("第二個字串:");
		System.out.println(Arrays.toString(arr2));

		String[] arr3 = str.split("g\\W+");// 這裡\\W大寫的W,是表示一個非單詞字元,前邊有一個g開頭的,然後後邊是非單詞字元
		System.out.print("第三個字串:");
		System.out.println(Arrays.toString(arr3));

		System.out.println("-1234".matches("-?\\d+"));
		System.out.println("-1234".matches("-?\\d+"));

		// 下邊測試一波字串中的替換方法,也可以傳入一般字串,也可以傳入正則字串
		String str2 = "you are a good boy ,but sometimes you are a bad person";
		String str3 = str2.replaceFirst("b\\w+", "girl");
		System.out.println("替換第一個字元:" + str3);
		String str4 = str2.replaceAll("b\\w+", "girl");
		System.out.println("替換所有匹配的字元的時候" + str4);
	}
}

控制檯列印: