java常用正規表示式

2021-07-16 22:34:52 字數 1360 閱讀 3237

正規表示式在字串處理上有著強大的功能,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);

boolean rs=m.find();

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

提取:string regex=".+\\(.+)$";

string str="c:\dir1\dir2\name.txt";

pattern p=pattern.compile(regex);

matcher m=p.matcher(str);

boolean rs=m.find();

for(int i=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] 數字 

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

s 等於 [  x0bf ] 空白字元 

s 等於 [^  x0bf ] 非空白字元 

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

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

^ 表示每行的開頭

$ 表示每行的結尾

Java常用正規表示式

d 非負整數 正整數 0 0 9 1 9 0 9 正整數 d 0 非正整數 負整數 0 0 9 1 9 0 9 負整數 d 整數 d d 非負浮點數 正浮點數 0 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 非正浮點數 負浮點數 ...

Java常用正規表示式

d 非負整數 正整數 0 0 9 1 9 0 9 正整數 d 0 非正整數 負整數 0 0 9 1 9 0 9 負整數 d 整數 d d 非負浮點數 正浮點數 0 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 非正浮點數 負浮點數 ...

Java常用正規表示式

d 非負整數 正整數 0 0 9 1 9 0 9 正整數 d 0 非正整數 負整數 0 0 9 1 9 0 9 負整數 d 整數 d d 非負浮點數 正浮點數 0 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 非正浮點數 負浮點數 ...