java中正則表達(dá)式實(shí)例詳解
Java中正則表達(dá)式運(yùn)用實(shí)例(參看java中正則表達(dá)式運(yùn)用詳解):
測(cè)試代碼
package test;
/**
* 在String的matches()方法,split()方法中使用正則表達(dá)式.
* @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();
/*
* 簡(jiǎn)單的轉(zhuǎn)義字符
* 在java中轉(zhuǎn)義字符時(shí)一定要用雙反斜線,兩個(gè)斜線轉(zhuǎn)義成一個(gè)斜線,
* 在用這個(gè)斜線字符轉(zhuǎn)義那些特殊字符.
*/
String str2 = "^$()[]{}.?+*|";
boolean flag = str2.matches("http://^//$//(//)//[//]//{//}//.//?//+//*//|");
System.out.println(flag);
/*
* 轉(zhuǎn)義字符 /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);
//勉強(qiáng)模式(只舉一例)
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);
/*
* 選擇表達(dá)式 xxx | xxx
*/
String str20 = "abc123abc";
boolean flag22 = str20.matches("(abc|123){3}");
System.out.println(flag22);
/*
* 分組 ( ).
* 以上修飾符都是針對(duì)一個(gè)字符進(jìn)行修飾.如果要對(duì)一組字符進(jìn)行
* 修飾就要用到()
*/
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);
}
}
結(jié)果代碼
-->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
感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!
相關(guān)文章
Springboot如何配置多個(gè)Redis數(shù)據(jù)源(非集群)
這篇文章主要介紹了Springboot如何配置多個(gè)Redis數(shù)據(jù)源(非集群)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2025-03-03
mybatis?返回Map類型key默認(rèn)為大寫問題
這篇文章主要介紹了mybatis?返回Map類型key默認(rèn)為大寫問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-11-11
帶你了解Java數(shù)據(jù)結(jié)構(gòu)和算法之?dāng)?shù)組
這篇文章主要為大家介紹了Java數(shù)據(jù)結(jié)構(gòu)和算法之?dāng)?shù)組,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助2022-01-01
SWT(JFace)體驗(yàn)之模擬BorderLayout布局
SWT(JFace)體驗(yàn)之模擬BorderLayout布局代碼。2009-06-06
深入分析:用1K內(nèi)存實(shí)現(xiàn)高效I/O的RandomAccessFile類的詳解
本篇文章是對(duì)用1K內(nèi)存實(shí)現(xiàn)高效I/O的RandomAccessFile類的詳細(xì)分析介紹,需要的朋友參考下2013-05-05
Java對(duì)數(shù)組實(shí)現(xiàn)選擇排序算法的實(shí)例詳解
這篇文章主要介紹了Java對(duì)數(shù)組實(shí)現(xiàn)選擇排序算法的實(shí)例,選擇排序的比較次數(shù)為 O(N^2)而交換數(shù)為O(N),需要的朋友可以參考下2016-04-04

