java中正则表达式实例详解

发布时间 - 2026-01-11 00:39:54    点击率:

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 

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


# java  # 正则表达式  # 正则表达式详解  # 正则表达式实例  # JAVA 正则表达式陈广佳版本(超详细)  # Java 正则表达式详细使用  # 整理很详细的Java正则表达式使用大全  # Java正则表达式Pattern和Matcher原理详解  # Java及python正则表达式详解  # Java 正则表达式入门详解(基础进阶)  # 详解Java正则表达式语法  # Java 正则表达式详解  # Java 正则表达式详细介绍  # 一例  # 都是  # 希望能  # 要用  # 自定义  # 要对  # 谢谢大家  # 特殊字符  # 修饰符  # gffmdkekrhhr  # boolean  # flag  # erefff  # rtydfgrgwvr  # gt  # fjfdke  # eett  # pre  # author 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Laravel如何实现多语言支持_Laravel本地化与国际化(i18n)配置教程  Laravel中的Facade(门面)到底是什么原理  Java类加载基本过程详细介绍  Laravel怎么实现验证码(Captcha)功能  如何用狗爹虚拟主机快速搭建网站?  如何注册花生壳免费域名并搭建个人网站?  Laravel如何为API生成Swagger或OpenAPI文档  图片制作网站免费软件,有没有免费的网站或软件可以将图片批量转为A4大小的pdf?  Laravel中间件如何使用_Laravel自定义中间件实现权限控制  EditPlus中的正则表达式 实战(1)  标准网站视频模板制作软件,现在有哪个网站的视频编辑素材最齐全的,背景音乐、音效等?  Bootstrap整体框架之CSS12栅格系统  Laravel Livewire是什么_使用Laravel Livewire构建动态前端界面  黑客入侵网站服务器的常见手法有哪些?  HTML5打空格有哪些误区_新手常犯的空格使用错误【技巧】  如何在腾讯云服务器上快速搭建个人网站?  laravel怎么通过契约(Contracts)编程_laravel契约(Contracts)编程方法  最好的网站制作公司,网购哪个网站口碑最好,推荐几个?谢谢?  悟空浏览器如何设置小说背景色_悟空浏览器背景色设置【方法】  如何在浏览器中启用Flash_2025年继续使用Flash Player的方法【过时】  怎样使用JSON进行数据交换_它有什么限制  Laravel怎么在Controller之外的地方验证数据  JS实现鼠标移上去显示图片或微信二维码  Laravel如何设置定时任务(Cron Job)_Laravel调度器与任务计划配置  Laravel API路由如何设计_Laravel构建RESTful API的路由最佳实践  html5如何实现懒加载图片_ intersectionobserver api用法【教程】  linux写shell需要注意的问题(必看)  安克发布新款氮化镓充电宝:体积缩小 30%,支持 200W 输出  Swift中swift中的switch 语句  JS经典正则表达式笔试题汇总  Laravel如何使用Service Provider服务提供者_Laravel依赖注入与容器绑定【深度】  电商网站制作多少钱一个,电子商务公司的网站制作费用计入什么科目?  Laravel Fortify是什么,和Jetstream有什么关系  Laravel如何实现图片防盗链功能_Laravel中间件验证Referer来源请求【方案】  Laravel如何连接多个数据库_Laravel多数据库连接配置与切换教程  Laravel Telescope怎么调试_使用Laravel Telescope进行应用监控与调试  Laravel怎么做缓存_Laravel Cache系统提升应用速度的策略与技巧  在线教育网站制作平台,山西立德教育官网?  html5的keygen标签为什么废弃_替代方案说明【解答】  Laravel Eloquent:优雅地将关联模型字段扁平化到主模型中  javascript基本数据类型及类型检测常用方法小结  如何在建站主机中优化服务器配置?  青岛网站建设如何选择本地服务器?  Laravel如何自定义错误页面(404, 500)?(代码示例)  关于BootStrap modal 在IOS9中不能弹出的解决方法(IOS 9 bootstrap modal ios 9 noticework)  宙斯浏览器怎么屏蔽图片浏览 节省手机流量使用设置方法  如何破解联通资金短缺导致的基站建设难题?  如何打造高效商业网站?建站目的决定转化率  HTML5空格和nbsp有啥关系_nbsp的作用及使用场景【说明】  laravel服务容器和依赖注入怎么理解_laravel服务容器与依赖注入解析