java中正则表达式实例详解
Java中正则表达式运用实例(参看java中正则表达式运用详解):
测试代码
packagetest;
/**
*在String的matches()方法,split()方法中使用正则表达式.
*@authorfhd001
*/
publicclassRegexTest{
publicstaticvoidmain(String[]args){
/*
*普通字符
*/
Stringstr1="abc45abc345";
String[]arr1=str1.split("abc");
for(Stringstring:arr1){
System.out.print(string+"-->");
}
System.out.println();
/*
*简单的转义字符
*在java中转义字符时一定要用双反斜线,两个斜线转义成一个斜线,
*在用这个斜线字符转义那些特殊字符.
*/
Stringstr2="^$()[]{}.?+*|";
booleanflag=str2.matches("//^//$//(//)//[//]//{//}//.//?//+//*//|");
System.out.println(flag);
/*
*转义字符/Q.../E.
*/
Stringstr3="^$()[]{}.?+*|99999";
booleanflag2=str3.matches("//Q^$()[]{}.?+*|//E//d{5}");
System.out.println(flag2);
/*
*字符集合
*/
Stringstr4="dfddri334";
booleanflag4=str4.matches(".+");
System.out.println(flag4);
Stringstr5="#$%^*())%";
booleanflag5=str5.matches("//W{9}");
System.out.println(flag5);
Stringstr6="4gffmdkekrhhr";
booleanflag6=str6.matches("//w+");
System.out.println(flag6);
Stringstr7="fjfdkeeett";
booleanflag7=str7.matches("//w+//s+//w{4}//s?");
System.out.println(flag7);
Stringstr8="erefff";
booleanflag8=str8.matches("//s+//S+//s+");
System.out.println(flag8);
Stringstr9="456776888";
booleanflag9=str9.matches("//d+");
System.out.println(flag9);
Stringstr10="rtydfgrgwvr";
booleanflag10=str10.matches("//D+");
System.out.println(flag10);
/*
*自定义字符集合[]
*/
Stringstr11="fdfeetg34566";
booleanflag11=str11.matches("[fdetg]+//s+[3-6]+");
System.out.println(flag11);
Stringstr12="rtyuie5768";
booleanflag12=str12.matches("[^abcdf]+//s+[^1234]+");
System.out.println(flag12);
/*
*匹配次数限定符
*/
//贪婪模式
Stringstr13="ytreggcv454444444333";
booleanflag13=str13.matches("//w{20}");
System.out.println(flag13);
booleanflag14=str13.matches("//w{10,21}");
System.out.println(flag14);
booleanflag15=str13.matches("//w{18,}");
System.out.println(flag15);
Stringstr14="4";
booleanflag16=str14.matches("//d?");
System.out.println(flag16);
Stringstr15="ddcvgt";
booleanflag17=str15.matches("//D+//d?");
System.out.println(flag17);
Stringstr16="e33tf44t44t";
booleanflag18=str16.matches("//w+//W*");
System.out.println(flag18);
//勉强模式(只举一例)
Stringstr17="34567ghjkkld";
booleanflag19=str17.matches("//d{2,7}?//w{8,11}");
System.out.println(flag19);
//占有模式(只举一例)
Stringstr18="22222ddddd";
booleanflag20=str18.matches("//d{2,5}+//w{6}");
System.out.println(flag20);
/*
*字符边界
*/
Stringstr19="a444545rot44tm";
booleanflag21=str19.matches("^a//w+m$");
System.out.println(flag21);
/*
*选择表达式xxx|xxx
*/
Stringstr20="abc123abc";
booleanflag22=str20.matches("(abc|123){3}");
System.out.println(flag22);
/*
*分组().
*以上修饰符都是针对一个字符进行修饰.如果要对一组字符进行
*修饰就要用到()
*/
Stringstr21="123qwe123qwe";
booleanflag23=str21.matches("(123qwe){2}");
System.out.println(flag23);
/*
*[]中的交集与并集
*/
Stringstr22="abcdefgh1234567";
booleanflag24=str22.matches("[a-z1-9]+");//并集
System.out.println(flag24);
booleanflag25=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
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!