java正則表達式(一)

一、正則表達式字符意義

符號 意義
\s 表示匹配一個空白字符,相當於[ \t\n\x0B\f\r]
\b 表示匹配一個單詞邊界
\d 表示匹配一個0~9的數字,相當於[0-9]
\w 表示匹配任意一個數字,字母,下劃線,相當於[a-zA-Z0-9]
* 限定符,表示要匹配的字符(串)出現0到多次
限定符,表示要匹配的字符(串)出現0次或1次
+ 限定符,表示要匹配的字符(串)出現1到多次
{n} 表示匹配前面的字符(串)n次
{n,m} 表示匹配前面的字符(串)n到m次
() 用於正則表達式分組
Note: 以上非限定符的大寫則表示除它本身外,匹配任何字符,如\S表示除空白字符外,匹配任何字符,相當於[^\s]
^ 表示匹配字符串的開頭
$ 表示匹配字符的結尾
[^] 表示不匹配中括號內的表達式
[] 表示匹配的一個範圍
- 範圍連接符,用在中括號[]內,表示某個範圍,如[a-z]表示小寫字母a到z

二、java類Pattern和Matcher的一些方法

(一)Pattern:

Pattern類相當於一個匹配的模板,看例子:

public class` TestPattern{
    public static void main(String[] args){
        Pattern p = p.compile("\\d{3}");
    }
}

上面的代碼中,Pattern的方法compile()表示編譯了一個\\d{3}正則表達式並讓p指向它,這個方法的返回值爲Pattern類型。這個正則表達式的意思是匹配3個數字,大家可能會想是不是我寫錯了,正則表達式不是\d表示數字麼?怎麼這裏是\\d呢?這裏解釋一下,在java中,一個\(backslash),表示的是一個轉義符,如\n表示換行,所以如果在java中使用\d,java虛擬機會認爲是一個轉義字符,而不是一個正則表達式,所以要用\d(backslash)來表示正則表達式中的數字,所有正則表達式在java中的轉義都是一樣的,要寫兩個\\

(二)Matcher:

這個類用來表示和模板p進行匹配的字符串和匹配後的處理操作,看例子:

public class` TestPattern{
    public static void main(String[] args){
        Pattern p = p.compile("\\d{3}");
        Matcher m = p.matcher("535");
        System.out.println(m.matches());
    }
}

上面的代碼,調用Pattern的matcher()方法,傳進一個要匹配的字符串,變量m指向這個matcher()方法返回的Matcher類對象,最後調用matches()方法檢測是否匹配,可以看出,打印爲true.這裏就不分析了,想必大家也能自己分析出來。

這裏先簡單介紹下java中的正則表達式,至於具體的操作,下次學到了再寫。

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