複製鏈接
請複製以下鏈接發送給好友

pattern

(計算機專業術語)

鎖定
Pattern是java.util.regex(一個用正則表達式所訂製的模式來對字符串進行匹配工作的類庫包)中的一個類。一個Pattern是一個正則表達式經編譯後的表現模式。
中文名
模型
外文名
pattern
適用範圍
Java程序類庫包
表達模式
是一個正則表達式經編譯後的表現模式
術語簡介
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常量。 [1] 
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對象的。
參考資料