java正則表達式學習二

常用的正則表達式符號:

下面我們我們就來看幾個常用的正在表達式:

1、IP地址的正則表達式:

	public void checkIp(){
		/**
		 * 格式:
		 * 前三位:
		 *  0到9
		 *  或者1到9,0到9
		 *  或者1,0到9,0到9
		 *  或者2,0到4,0到9
		 *  或者2,5,  0到5
		 * 後四位包括.,然後重複三位數字位:
		 *  .
		 *  0到9, 0到9, 0到9
		 *  或者1, 0到9, 0到9
		 *  或者2, 0到4, 0到9
		 *  或者2,5,      0到5*/
		String rexp = "([1-9]|"
				+ "[1-9]\\d|"
				+ "1\\d{2}|"
				+ "2[0-4]\\d|"
				+ "25[0-5])"
				+ "(\\.(\\d|[1-9]\\d|1\\d{2}|2[0-4]\\d|25[0-5])){3}";
		
		Pattern pattern = Pattern.compile(rexp);
		Matcher mat = pattern.matcher("192.0.0.0");
		boolean b = mat.matches();
		
		System.out.println(b);
	}

2、中文字符檢測:

	public void checkChineseCharacter(){
		Pattern p = null; //正則表達式
		Matcher m = null; //操作的字符串
		boolean b = false;
		//正則表達式表示漢字的一串字符串
		p = Pattern.compile("^[\u4e00-\u9fa5]+$");
		m = p.matcher("直播吧");
		b = m.matches();
		System.out.println("中文名正確:"+b); //輸出:true
		//
		p = Pattern.compile("^[\u4e00-\u9fa5]+$");
		m = p.matcher("nick");//錯誤 只能是中文
		b = m.matches();
		System.out.println("中文名錯誤:"+b); //輸出:false
	}

3、郵件地址格式檢測:

	public void checkEmail(){
		Pattern p = null; //正則表達式
		Matcher m = null; //操作的字符串
		boolean b = false;
		//正則表達式表示郵箱號碼
		p = Pattern.compile("\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*");
		m = p.matcher("[email protected]");
		b = m.matches();
		System.out.println("email號碼正確:"+b); //輸出:true
		//
		p = Pattern.compile("\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*");
		m = p.matcher("user.test.com");//錯誤 @應爲.
		b = m.matches();
		System.out.println("email號碼錯誤:"+b); //輸出:false
	}

一個好的正則表達式的編寫也是有難度的,編寫之前必須要屬性正則表達式的各個符號所代表的意思,如果需要對匹配進程操作,如:替換,截取,

獲取固定位,則需要熟悉Matcher類中各個方法,使用正則表達式有時候會比用代碼實現更加簡潔高效,但是正則表達式沒有經過嚴格測試也容易引

入bug,總之正則表達式很容易入門,但是一個好的正則表達式編寫員也是很難練成的。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章