模式匹配就是檢索和指定模式匹配的字串,Java提供了專門用來進行模式匹配的Pattern類別和Matcher類,這些類別在java.util.regex套件中。
接下來我們來講講使用Pattern類別和Matcher類別的步驟,假設有字串:
Stringinput=hello,goodmorning,thisisagoodidea;
我們想知道input從哪個位置開始至哪個位置結束曾出現了字符串good。
首先我們要建立模式對象,使用正規表示式regex做參數得到一個稱為模式的Pattern類別的實例pattern:
Patternpattern=Pattern.compile(regex);
例如:
Stringregex=good;pattern=Pattern.compile(regex);
模式物件是對正規表示式的封裝。 Pattern類別呼叫類別方法compile(String regex)傳回一個模式對象,其中的參數regex是一個正規表示式,稱為模式物件使用的模式。
如果參數regex指定的正規表示式有錯,complie方法會拋出異常PatternSyntaxException。
Pattern類別也可以呼叫類別方法compile(String regex,int flags)傳回一個Pattern對象,參數flags可以取下列有效值:
Pattern.CASE_INSENSITIVEPattern.MULTILINEPattern.DOTALLPattern.UNICODE_CASEPattern.CANON_EQ
例如:flags取值Pattern.CASE_INSENSITIVE,模式符合時會忽略大小寫。