首页 > 编程 > Java > 正文

java中正则表达式实例详解

2019-11-26 12:36:07
字体:
来源:转载
供稿:网友

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("//^//$//(//)//[//]//{//}//.//?//+//*//|");     System.out.println(flag);               /*      * 转义字符 /Q.../E.      */     String str3 = "^$()[]{}.?+*|99999";     boolean flag2 = str3.matches("//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("//W{9}");     System.out.println(flag5);          String str6 = "4gffmdkekrhhr";     boolean flag6 = str6.matches("//w+");     System.out.println(flag6);          String str7 = "fjfdke  eett ";     boolean flag7 = str7.matches("//w+//s+//w{4}//s?");     System.out.println(flag7);          String str8 = "  erefff  ";     boolean flag8 = str8.matches("//s+//S+//s+");     System.out.println(flag8);          String str9 = "456776888";     boolean flag9 = str9.matches("//d+");     System.out.println(flag9);               String str10 = "rtydfgrgwvr ";     boolean flag10 = str10.matches("//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);               /*      * 匹配次数限定符      */          //贪婪模式     String str13 = "ytreggcv454444444333";     boolean flag13 = str13.matches("//w{20}");     System.out.println(flag13);          boolean flag14 = str13.matches("//w{10,21}");     System.out.println(flag14);          boolean flag15 = str13.matches("//w{18,}");     System.out.println(flag15);          String str14 = "4";     boolean flag16 = str14.matches("//d?");     System.out.println(flag16);          String str15 = "ddcvgt";     boolean flag17 = str15.matches("//D+//d?");     System.out.println(flag17);          String str16 = "e33tf44t44t";     boolean flag18 = str16.matches("//w+//W*");     System.out.println(flag18);          //勉强模式(只举一例)     String str17 = "34567ghjkkld";     boolean flag19 = str17.matches("//d{2,7}?//w{8,11}");     System.out.println(flag19);          //占有模式(只举一例)     String str18 = "22222ddddd";     boolean flag20 = str18.matches("//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 

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表