java正則表達(dá)式四種常用的處理方式(匹配、分割、替代、獲取)
java 正則表達(dá)式高級(jí)篇,介紹四種常用的處理方式:匹配、分割、替代、獲取,具體內(nèi)容如下
package test; import java.util.regex.Matcher; import java.util.regex.Pattern; /** * 正則表達(dá)式 * 正則表達(dá)式 的用法主要是4種方面的使用 * 匹配,分割,替換,獲取. * 用一些簡(jiǎn)單的符號(hào)來(lái)代表代碼的操作 * @author cyc * */ public class Rex { public static void main(String[] args) { //針對(duì)字符串處理 Rex reg = new Rex(); //校驗(yàn)qq的reg正則表達(dá)式 //這里的\w 是指的是[a-zA-Z0-9],還有一個(gè)重要的是?,*.+這三個(gè)分別 //?表示出現(xiàn)1次或者1次都沒(méi)有, //+表示出現(xiàn)1次或者n次, //*表示出現(xiàn)0次或者n次, //還有些特殊的寫(xiě)法X{n}恰好n次X{n,}至少n次,X{n,m}n次到m次, String mathReg = "[1-9]\\d{4,19}"; String divisionReg = "(.)\\1+"; //\\b 是指的邊界值 String getStringReg = "\\b\\w{3}\\b"; //字符串匹配(首位是除0 的字符串) reg.getMatch("739295732",mathReg); reg.getMatch("039295732",mathReg); //字符串的替換 //去除疊詞 reg.getReplace("12111123ASDASDAAADDD",divisionReg,"$1"); //字符串的分割 //切割疊詞,重復(fù)的 //這里要知道一個(gè)組的概念(.)\\1第二個(gè)和第一個(gè)至相同 reg.getDivision("aadddddasdasdasaaaaaassssfq",divisionReg); //字符串的獲取 //現(xiàn)在獲取三個(gè)字符串取出 reg.getString("ming tian jiu yao fangjia le ",getStringReg); } /** * 獲取查詢(xún)的字符串 * 將匹配的字符串取出 */ private void getString(String str, String regx) { //1.將正在表達(dá)式封裝成對(duì)象Patten 類(lèi)來(lái)實(shí)現(xiàn) Pattern pattern = Pattern.compile(regx); //2.將字符串和正則表達(dá)式相關(guān)聯(lián) Matcher matcher = pattern.matcher(str); //3.String 對(duì)象中的matches 方法就是通過(guò)這個(gè)Matcher和pattern來(lái)實(shí)現(xiàn)的。 System.out.println(matcher.matches()); //查找符合規(guī)則的子串 while(matcher.find()){ //獲取 字符串 System.out.println(matcher.group()); //獲取的字符串的首位置和末位置 System.out.println(matcher.start()+"--"+matcher.end()); } } /** * 字符串的分割 */ private void getDivision(String str, String regx) { String [] dataStr = str.split(regx); for(String s:dataStr){ System.out.println("正則表達(dá)式分割++"+s); } } /** * 字符串的替換 */ private void getReplace(String str, String regx,String replaceStr) { String stri = str.replaceAll(regx,replaceStr) ; System.out.println("正則表達(dá)式替換"+stri); } /** * 字符串處理之匹配 * String類(lèi)中的match 方法 */ public void getMatch(String str, String regx){ System.out.println("正則表達(dá)匹配"+str.matches(regx)); } }
以上就是Java正則表達(dá)式的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助
相關(guān)文章
asp.net 正則表達(dá)式[經(jīng)常用的到]
經(jīng)常用的到的一些正則表達(dá)式,正則規(guī)則是這樣寫(xiě)的,大家可以根據(jù)自己的需要,用各種語(yǔ)言調(diào)用即可2008-11-11php驗(yàn)證用戶名是否以字母開(kāi)頭與驗(yàn)證密碼實(shí)例
這篇文章主要介紹了php驗(yàn)證用戶名是否以字母開(kāi)頭與驗(yàn)證密碼,實(shí)例匯總了幾個(gè)用戶注冊(cè)及提交表單時(shí)常用的正則表達(dá)式,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2014-12-12正則表達(dá)式實(shí)現(xiàn)手機(jī)號(hào)中間4位數(shù)隱藏或者只顯示末尾四位數(shù)
這篇文章主要介紹了正則表達(dá)式實(shí)現(xiàn)手機(jī)號(hào)中間4位數(shù)隱藏或者只顯示末尾四位數(shù)的相關(guān)知識(shí),需要的朋友可以參考下2018-11-11正則表達(dá)式在網(wǎng)頁(yè)處理中的應(yīng)用四則
正則表達(dá)式(Regular Expression)為字符串模式匹配提供了一種高效、方便的方法。幾乎所有高級(jí)語(yǔ)言都提供了對(duì)正則表達(dá)式的支持,或者提供了現(xiàn)成的代碼庫(kù)供調(diào)用。本文以ASP環(huán)境中常見(jiàn)的處理任務(wù)為例,介紹正則表達(dá)式的應(yīng)用技巧。2008-04-04用正則表達(dá)式匹配字符串中漢字及中文標(biāo)點(diǎn)符號(hào)
正則表達(dá)式通常用于判斷某一個(gè)字符串是否符合或滿足某一種格式,下面這篇文章主要給大家介紹了關(guān)于如何使用正則表達(dá)式匹配字符串中漢字及中文標(biāo)點(diǎn)符號(hào)的相關(guān)資料,需要的朋友可以參考下2022-07-07javascript中匹配價(jià)格的正則表達(dá)式
價(jià)格的格式應(yīng)該如下,開(kāi)頭數(shù)字若干位,可能有一個(gè)小數(shù)點(diǎn),小數(shù)點(diǎn)后面可以有兩位數(shù)字。hansir給出的對(duì)應(yīng)正則如下2012-09-09Java正則表達(dá)式入門(mén)學(xué)習(xí)
這篇文章主要介紹了Java正則表達(dá)式入門(mén)學(xué)習(xí)基礎(chǔ)知識(shí),全面分析了表示匹配次數(shù)的符號(hào)使用方法,感興趣的小伙伴們可以參考一下2015-12-12