java中正则表达式实例详解

所属分类: 软件编程 / java 阅读数: 47
收藏 0 赞 0 分享

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 

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

更多精彩内容其他人还在看

spring boot 静态资源处理方法

本篇文章主要介绍了spring boot 静态资源处理方法。小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

详解spring boot 使用application.properties 进行外部配置

这篇文章主要介绍了详解spring boot 使用application.properties 进行外部配置,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

Java实现分页的前台页面和后台代码

这篇文章主要为大家详细介绍了Java实现分页的前台页面和后台代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

详解spring面向切面aop拦截器

spring中有很多概念和名词,比如过滤器、拦截器、aop等。这篇文章主要介绍了详解spring面向切面aop拦截器,有兴趣的可以了解一下。
收藏 0 赞 0 分享

Java easyui树形表格TreeGrid的实现代码

这篇文章主要为大家详细介绍了Java easyui树形表格TreeGrid的实现代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

Java的NIO与IO的详解及对比

这篇文章主要介绍了Java的NIO与IO的详解及对比的相关资料,需要的朋友可以参考下
收藏 0 赞 0 分享

Java中网络IO的实现方式(BIO、NIO、AIO)介绍

这篇文章主要介绍了Java中网络IO的实现方式(BIO、NIO、AIO)介绍的相关资料,需要的朋友可以参考下
收藏 0 赞 0 分享

Java 敏感信息加密处理

本文主要介绍了Java 敏感信息加密处理的相关知识:1)敏感信息加密处理我们要实现什么;2)敏感信息加密处理我做了些什么;3)敏感信息加密实现方法。具有很好的参考价值,下面跟着小编一起来看下吧
收藏 0 赞 0 分享

详解使用Spring3 实现用户登录以及权限认证

这篇文章主要介绍了详解使用Spring3 实现用户登录以及权限认证,这里整理了详细的代码,有需要的小伙伴可以参考下。
收藏 0 赞 0 分享

Java的内存机制详解

本文主要介绍了Java的内存机制的相关知识,具有很好的参考价值,下面跟着小编一起来看下吧
收藏 0 赞 0 分享
查看更多