JDK regex 用法及用途

2021-09-01 23:06:29 字數 2511 閱讀 2625

[list]

[*] 查詢 boolean flag = pattern.matcher("fda").find();

[*] 分割 string mm = pattern2.split(「say:」);

[*] 格式化 string format= pattern1.matcher(string.valueof(vv)).group()

[*] 替換 string format= pattern3.matcher(ss1) .replaceall("a")

[*] 匹配 string format= pattern5.matcher(email).matches()

[/list]

public class regrexutiltest

system.out.print(","+target);

}system.out.println("]");

string target1s = teststr.split("\\|");

system.out.print("分割(split): 我們一般使用 string.split [");

firstflag = true;

for(string target:target1s)

system.out.print(","+target);

}system.out.println("]");

teststr = "abc3.14159526dd";

patternstr = "[0-9]+\\.[0-9]";

pattern = pattern.compile(patternstr);

matcher matcher = pattern.matcher(teststr);

while(matcher.find())

system.out.println("格式化(group): 我們一般使用 string.substring "+teststr.substring(3,7));

teststr = "abcdeabdsa";

patternstr = "a";

pattern = pattern.compile(patternstr);

string result = pattern.matcher(teststr).replaceall("a");

system.out.println("替換(replace):"+result);

system.out.println("替換(replace): 我們一般使用 string.replace "+result.replaceall("a", "a"));

teststr = "[email protected]";

patternstr = "\\w+([-+.']\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*";

pattern = pattern.compile(patternstr);

flag = pattern.matcher(teststr).matches();

system.out.println("匹配(matches):"+flag);}}

查詢(find):i am a good man, over!是以 over! 結尾的:true

查詢(find):我們一般使用 string.endwith :true

分割(split): [abcde,abcde,fff,gg]

分割(split): 我們一般使用 string.split [abcde,abcde,fff,gg]

格式化(group):3.14

格式化(group): 我們一般使用 string.substring 3.14

替換(replace):abcdeabdsa

替換(replace): 我們一般使用 string.replace abcdeabdsa

匹配(matches):true

可能你們會發現,這些功能可以用startwith,split,replace,substring等常用功能來代替,而且簡單實用,除了匹配之外。

但是如果是不區分大小寫,當true/yes/1代表乙個意思時,正則就發揮作用了。

其實格式化 比如 yyyy-mm-dd, ##.##等等 都是格式化定義,最後都是需要格式化具體的資料。

匹配是正則用的最多的乙個功能,手機號碼,區號,qq號碼,e-mail,密碼,使用者名稱,等等需要使用者輸入的,如果有必要都要驗證。

isphone: "^(0[0-9]-)?([2-9][0-9])+(-[0-9])?$"

ismobilephone: "^((\\([0-9]\\))|(\\d-))?(13[456789][0-9]|15[89][0-9])+$"

isemail: "^[\\w-]+(.[\\w-]+)*@[\\w-]+(\\.[\\w-]+)+$"

islink: "^]*href=\"[^>]*>(.*?)"

...其他的歡迎補充。

Placement new的用法及用途

什麼是placement new?所謂placement new就是在使用者指定的記憶體位置上構建新的物件,這個構建過程不需要額外分配記憶體,只需要呼叫物件的建構函式即可。舉例來說 class foo foo pfoo new foo pfoo指向的物件的位址你是不能決定的,因為new已經為你做了這...

placement new的用法及用途

本文 所謂placement new就是在使用者指定的記憶體位置上構建新的物件,這個構建過程不需要額外分配記憶體,只需要呼叫物件的建構函式即可。舉例來說 class foo foo pfoo new foo pfoo指向的物件的位址你是不能決定的,因為new已經為你做了這些工作。第一步分配記憶體,第...

placement new的標準用法及用途

什麼是placement new?所謂placement new就是在使用者指定的記憶體位置上構建新的物件,這個構建過程不需要額外分配記憶體,只需要呼叫物件的建構函式即可。舉例來說 class foo foo pfoo new foo pfoo指向的物件的位址你是不能決定的,因為new已經為你做了這...