正規表示式之Pattern與Matcher

2021-08-17 04:35:01 字數 1543 閱讀 6812

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...