pattern類:描述匹配模式。
matcher類:具體的匹配器,依賴於pattern類提供的匹配模式。
pattern類的建立:由於pattern的構造器私有,所以一般通過pattern類的靜態方法compile(string regex)來獲得物件,該方法需要傳入乙個正規表示式的字串作為匹配規則。也多傳入第二個引數int flags,該引數取值範圍為pattern類的9個int型靜態常數,分別代表9種匹配方式。
pattern
pattern =
pattern
.compile ("
\\?|
\\*");
一般匹配全部字串且只匹配一次,直接獲取匹配結果(true or false),可直接通過pattern.matches(string regex,string input),來驗證,**如下:
pattern
.matches
("\\?|
\\*"
,"?"
) 輸出:true
string split(
charsequence input)
string split(
charsequence input,int limit)
該方法會依據正規表示式匹配成功的字串作為分隔符,將字串分割為字串陣列。limit是要分割的段數。
pattern
pattern =
pattern
.compile
("\\?|
\\*");
string
strarr = pattern.split(
"123*111?321?444");
輸出:123 111 321 444
string
strarr1 = pattern.split(
"123*111?321?444",3
);輸出:123 111 321?444
matcher類的建立:一般通過pattern的例項物件呼叫matcher(
charsequence input)獲得匹配器物件,需要傳入乙個需要驗證的字串。通過此種方法可根據需要使用matcher物件的具體方法。
*charsequence是乙個介面,string、stringbuilder、stringbuffer都實現了該介面。
matcher
matcher = pattern.matcher(
"?*");
boolean matches()
該方法對生成匹配器物件的字串整體進行匹配,成功返回true,失敗返回false
pattern
pattern =
pattern
.compile
("\\?|
\\*");
matcher
matcher = pattern.matcher(
"?")
; system
.out
.println(matcher.matches())
; 輸出:true
正規表示式 ( pattern )解釋
當使用re.findall pattern s 時候 如果在表示式中包含有 則只會輸出括號裡面的內容,如何既使用 又不會只返回括號裡面的內容呢?大俠,在這裡隆重推薦 這種方法來代替 下面看案例 import re tips 1 re.findall pattern,string 選取所有合適的條目,...
正規表示式Pattern類的基本用法
public void mailregex a za z.a za z0 9 a za z 編譯正規表示式 pattern pattern pattern.compile regex 忽略大小寫的寫法 pattern pat pattern.compile regex,pattern.case in...
正規表示式 正規表示式 總結
非負整數 d 正整數 0 9 1 9 0 9 非正整數 d 0 負整數 0 9 1 9 0 9 整數 d 非負浮點數 d d 正浮點數 0 9 0 9 1 9 0 9 0 9 1 9 0 9 0 9 0 9 1 9 0 9 非正浮點數 d d 0 0 負浮點數 正浮點數正則式 英文本串 a za z...