正規表示式的4種常用功能

2021-04-16 04:28:12 字數 1692 閱讀 5221

正規表示式在字串處理上有著強大的功能,sun在jdk1.4加入了對它的支援

下面簡單的說下它的4種常用功能:

查詢:以下是**片段:

string str="

abc efg abc"; 

string regex="

a|f"

; //

表示a或f 

pattern p

=pattern.compile(regex); 

matcher m

=p.matcher(str); 

booleanrs=

m.find(); 

如果str中有regex,那麼rs為true,否則為flase。如果想在查詢時忽略大小寫,則可以寫成pattern p=pattern.compile(regex,pattern.case_insensitive);

提取:以下是**片段:

string regex="

.+(.+)$"; 

string str="

c:dir1dir2 ame.txt"; 

pattern p

=pattern.compile(regex); 

matcher m

=p.matcher(str); 

booleanrs=

m.find(); 

for(

inti=1

;i<=

m.groupcount();i

++) 

以上的執行結果為name.txt,提取的字串儲存在m.group(i)中,其中i最大值為m.groupcount();

分割:以下是**片段:

string regex="

::"; 

pattern p

=pattern.compile(regex); 

string r

=p.split(

"xd::abc::cde

"); 

執行後,r就是,其實分割時還有跟簡單的方法:

string str="xd::abc::cde";

string r=str.split("::");

替換(刪除):

以下是**片段:

string regex="

a+"; //

表示乙個或多個a 

pattern p

=pattern.compile(regex); 

matcher m

=p.matcher(

"aaabbced a ccdeaa

"); 

string s

=m.replaceall("a

"); 

結果為"abbced a ccdea"

如果寫成空串,既可達到刪除的功能,比如:

string s

=m.replaceall(

"");

結果為"bbced ccde"

附:/d 等於 [^0-9] 非數字

/s 等於 [ /t/n/x0b/f ] 空白字元

/s 等於 [^ /t/n/x0b/f ] 非空白字元

/w 等於 [a-za-z_0-9] 數字或是英文本

/w 等於 [^a-za-z_0-9] 非數字與英文本

^ 表示每行的開頭

$ 表示每行的結尾 

JAVA正規表示式4種常用功能

正規表示式在字串處理上有著強大的功能,sun在jdk1.4加入了對它的支援 下面簡單的說下它的4種常用功能 查詢 string str abc efg abc string regex a f 表示a或f pattern p pattern.compile regex matcher m p.mat...

JAVA正規表示式4種常用功能

正則 表示式在字串處理上有著強大的功能,sun在jdk1.4加入了對它的支援 下面簡單的說下它的4種常用功能 查詢 string str abc efg abc string regex a f 表示a或f pattern p pattern.compile regex matcher m p.ma...

JAVA正規表示式4種常用功能

f 作者 閱讀 3408 人次 2006 4 28 10 05 00 正規表示式在字串處理上有著強大的功能,sun在jdk1.4加入了對它的支援 下面簡單的說下它的4種常用功能 查詢 string str abc efg abc string regex a f 表示a或f pattern p pa...