Pattern的方法如下: static Pattern compile(String regex)
將給定的正則表達式編譯並賦予給Pattern類
static Pattern compile(String regex, int flags)
同上,但增加flag參數的指定,可選的flag參數包括:CASE INSENSITIVE,MULTILINE,DOTALL,UNICODE CASE, CANON EQ、
flags參數是一個位掩碼,並在Pattern類中定義為int常量。
Flag | 描述 |
Pattern.CANON_EQ | 啟用規範等效。 |
Pattern.CASE_INSENSITIVE | 啟用不區分大小寫的匹配。 |
Pattern.COMMENTS | 啟用不區分大小寫的匹配。... |
Pattern.DOTALL | 允許在模式中的空格和注釋。 忽略以#開頭的空格和嵌入的注釋,直到行的結尾。 |
Pattern.LITERAL | 啟用模式的文字解析。 這個標誌使元字元和轉義序列作為正常字元。 |
Pattern.MULTILINE | 啟用多行模式。默認情況下,^和$匹配輸入序列的開始和結束。此標誌使模式僅逐行匹配或輸入序列的末尾。 |
Pattern.UNICODE_CASE | 啟用支持Unicode的大小寫。 與CASE_INSENSITIVE標誌一起,可以根據Unicode標準執行不區分大小寫的匹配。 |
Pattern.UNICODE_ CHARACTER_CLASS | 啟用預定義字元類和POSIX字元類的Unicode版本。 設定此標誌時,預定義字元類和POSIX字元類符合Unicode技術標準。 |
Pattern.UNIX_LINES | 啟用Unix行模式。設定此標誌時,只有\ n字元被識別為行終止符。 |
int flags()
返回當前Pattern的匹配flag參數.
Matcher matcher(CharSequence input)
生成一個給定命名的Matcher對象
static boolean matches(String regex, CharSequence input)
編譯給定的正則表達式並且對輸入的字串以該正則表達式為模開展匹配,該方法適合於該正則表達式只會使用一次的情況,也就是只進行一次匹配工作,因為這種情況下並不需要生成一個Matcher實例。
String pattern()
返回該Patter對象所編譯的正則表達式。
String[] split(CharSequence input)
將目標字元串按照Pattern里所包含的正則表達式為模進行分割。
String[] split(CharSequence input, int limit)
作用同上,增加參數limit目的在於要指定分割的段數,如將limi設為2,那么目標字元串將根據正則表達式分為割為兩段。
一個正則表達式,也就是一串有特定意義的字元,必須首先要編譯成為一個Pattern類的實例,這個Pattern對象將會使用matcher()方法來生成一個Matcher實例,接著便可以使用該 Matcher實例以編譯的正則表達式為基礎對目標字元串進行匹配工作,多個Matcher是可以共用一個Pattern對象的。