1. 程式人生 > >正則表達式

正則表達式

正則表達式

正則表達式極大的簡化了我們的需求....

舉個例子:

不用正則:

public class TestZZ {
	public static void main(String[] args) {
		if(isNumber("12345")){// 判斷是否由數字構成
			System.out.println("由數字構成!");
		}else{
			System.out.println("不是由數字構成!");
		}
	}
	public static boolean isNumber(String str){
		char[] data = str.toCharArray();
		for (int i = 0; i < data.length; i++) {
			if(data[i]<‘0‘ || data[i] >‘9‘){
				return false;
			}
		}
		return true;
	}
}

使用正則:

public class TestZZ {
	public static void main(String[] args) {
		if("123".matches("\\d+")){//利用正則表達式
			System.out.println("由數字組成!");
		}else{
			System.out.println("不是由數字組成!");
		}
	}
}

通過一個簡單的對比,可以看出正則表達式使用起來,極為簡便,大大簡化了我們的代碼難易程度。

下面讓我們看下核心的正則表達式標記

  1. 字符,表示某個字符,只能出現1位

    x:表示是一個指定的一位字符,例如:編寫一個a,表示字符a;

    \\:表示一位字符“\”

    \n:換行

  2. 字符範圍,在指定的字符範圍之中選1位,只能出現1位

    [abc] :表示可以是a,b,c中的任意一位

    [^abc]:表示不是a,b,c中的任意一位

    [a-zA-Z]:表示任意一個字符(大寫或小寫

    [0-9]:表示任意一個數字

  3. 簡介表達式,表示1位

    .:表示任意一個字符

    \d:表示一位數字,等價於[0-9]

    \D:表示一位非數字,等價[^0-9]

    \s:表示一位空格,等價[\t\n\x0B\f\r]

    \S:表示一位非空格,等價[……\t\n\x0B\f\r]

\w:表示一個字母,數字,_,等價[0-9a-zA-Z_]

\W: 表示一個非字母,數字,_等價[^0-9a-zA-Z_]

4.數量表示

? 表示正則出現0或1

+ 表示正則出現1或多次

* 表示正則出現0或1次或多次

{n} 表示正則正好出現n次

{n,}表示正則出現n次以上

{n,m}表示正則出現n-m次


本文出自 “11134439” 博客,請務必保留此出處http://11144439.blog.51cto.com/11134439/1923525

正則表達式