java中正則表達式實例詳解
更新時間:2017年04月14日 14:41:41 投稿:lqh
這篇文章主要介紹了java中正則表達式實例詳解的相關資料,需要的朋友可以參考下
Java中正則表達式運用實例(參看java中正則表達式運用詳解):
測試代碼
package test; /** * 在String的matches()方法,split()方法中使用正則表達式. * @author fhd001 */ public class RegexTest { public static void main(String[] args) { /* * 普通字符 */ String str1 = "abc45abc345"; String[]arr1 = str1.split("abc"); for (String string : arr1) { System.out.print(string+"-->"); } System.out.println(); /* * 簡單的轉義字符 * 在java中轉義字符時一定要用雙反斜線,兩個斜線轉義成一個斜線, * 在用這個斜線字符轉義那些特殊字符. */ String str2 = "^$()[]{}.?+*|"; boolean flag = str2.matches("http://^//$//(//)//[//]//{//}//.//?//+//*//|"); System.out.println(flag); /* * 轉義字符 /Q.../E. */ String str3 = "^$()[]{}.?+*|99999"; boolean flag2 = str3.matches("http://Q^$()[]{}.?+*|//E//d{5}"); System.out.println(flag2); /* * 字符集合 */ String str4 = "dfddri334"; boolean flag4 = str4.matches(".+"); System.out.println(flag4); String str5 = "#$%^*())%"; boolean flag5 = str5.matches("http://W{9}"); System.out.println(flag5); String str6 = "4gffmdkekrhhr"; boolean flag6 = str6.matches("http://w+"); System.out.println(flag6); String str7 = "fjfdke eett "; boolean flag7 = str7.matches("http://w+//s+//w{4}//s?"); System.out.println(flag7); String str8 = " erefff "; boolean flag8 = str8.matches("http://s+//S+//s+"); System.out.println(flag8); String str9 = "456776888"; boolean flag9 = str9.matches("http://d+"); System.out.println(flag9); String str10 = "rtydfgrgwvr "; boolean flag10 = str10.matches("http://D+"); System.out.println(flag10); /* * 自定義字符集合 [ ] */ String str11 = "fdfeetg 34566"; boolean flag11 = str11.matches("[fdetg]+//s+[3-6]+"); System.out.println(flag11); String str12 = "rtyuie 5768"; boolean flag12 = str12.matches("[^abcdf]+//s+[^1234]+"); System.out.println(flag12); /* * 匹配次數(shù)限定符 */ //貪婪模式 String str13 = "ytreggcv454444444333"; boolean flag13 = str13.matches("http://w{20}"); System.out.println(flag13); boolean flag14 = str13.matches("http://w{10,21}"); System.out.println(flag14); boolean flag15 = str13.matches("http://w{18,}"); System.out.println(flag15); String str14 = "4"; boolean flag16 = str14.matches("http://d?"); System.out.println(flag16); String str15 = "ddcvgt"; boolean flag17 = str15.matches("http://D+//d?"); System.out.println(flag17); String str16 = "e33tf44t44t"; boolean flag18 = str16.matches("http://w+//W*"); System.out.println(flag18); //勉強模式(只舉一例) String str17 = "34567ghjkkld"; boolean flag19 = str17.matches("http://d{2,7}?//w{8,11}"); System.out.println(flag19); //占有模式(只舉一例) String str18 = "22222ddddd"; boolean flag20 = str18.matches("http://d{2,5}+//w{6}"); System.out.println(flag20); /* * 字符邊界 */ String str19 = "a444545rot44tm"; boolean flag21 = str19.matches("^a//w+m$"); System.out.println(flag21); /* * 選擇表達式 xxx | xxx */ String str20 = "abc123abc"; boolean flag22 = str20.matches("(abc|123){3}"); System.out.println(flag22); /* * 分組 ( ). * 以上修飾符都是針對一個字符進行修飾.如果要對一組字符進行 * 修飾就要用到() */ String str21 = "123qwe123qwe"; boolean flag23 = str21.matches("(123qwe){2}"); System.out.println(flag23); /* * []中的交集與并集 */ String str22 = "abcdefgh1234567"; boolean flag24 = str22.matches("[a-z1-9]+"); //并集 System.out.println(flag24); boolean flag25 = str22.matches("[a-z1-9&&[a-h1-7]]+"); //交集 System.out.println(flag25); } }
結果代碼
-->45-->345--> true true true true true true true true true true true true true true true true true true false true true true true true
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
相關文章
java中@EnableAutoConfiguration注解使用
在Spring Boot框架中,@EnableAutoConfiguration是一種非常重要的注解,本文就來介紹一下java中@EnableAutoConfiguration注解使用,感興趣的可以了解一下2023-11-11Java編寫簡易rabbitmq生產(chǎn)者與消費者的代碼
開發(fā)時經(jīng)常與其它系統(tǒng)用rabbitmq對接,當需要自測時,還是自己寫rabbitmq生產(chǎn)者、消費者自測方便些,下面給大家總結使用java編寫簡易rabbitmq的方法,感興趣的朋友一起看看吧2023-11-11MyBatis中調用存儲過程和函數(shù)的實現(xiàn)示例
在MyBatis中調用存儲過程和函數(shù)是一個相對高級的特性,本文主要介紹了MyBatis中調用存儲過程和函數(shù)的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2024-07-07使用Postman傳遞arraylist數(shù)據(jù)給springboot方式
這篇文章主要介紹了使用Postman傳遞arraylist數(shù)據(jù)給springboot方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-12-12JDK動態(tài)代理與CGLib動態(tài)代理的區(qū)別對比
今天小編就為大家分享一篇關于JDK動態(tài)代理與CGLib動態(tài)代理的區(qū)別對比,小編覺得內容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2019-02-02