小编典典

使用一个简单的正则表达式

这种方法的好处之一是,我们还可以轻松添加令牌*(请参阅底部的 添加令牌 )。

搜索: [^*]+|(\*)

|匹配项的左侧匹配不是星号的所有字符

右侧将所有星星捕获到第1组

如果第1组为空:替换为\Q+匹配+E

如果设置了组1:替换为 .*

这是一些工作代码(请参阅在线演示的输出)。

输入: audio*2012*.wav

输出: \Qaudio\E.*\Q2012\E.*\Q.wav\E

String subject = "audio*2012*.wav";

Pattern regex = Pattern.compile("[^*]+|(\\*)");

Matcher m = regex.matcher(subject);

StringBuffer b= new StringBuffer();

while (m.find()) {

if(m.group(1) != null) m.appendReplacement(b, ".*");

else m.appendReplacement(b, "\\\\Q" + m.group(0) + "\\\\E");

}

m.appendTail(b);

String replaced = b.toString();

System.out.println(replaced);

添加令牌

假设我们还想?用一个点将通配符(代表单个字符)转换。我们只是将捕获组添加到正则表达式,并将其从左侧的matchall中排除:

搜索: [^*?]+|(\*)|(\?)

在replace函数中,我们添加如下内容:

else if(m.group(2) != null) m.appendReplacement(b, ".");

2020-10-20

java 通配符_Java中的通配符匹配相关推荐

  1. java 文件通配符_Java中泛型通配符的使用方法示例

    本文实例讲述了Java中泛型通配符的使用方法.分享给大家供大家参考,具体如下: 一 点睛 引入通配符可以在泛型实例化时更加灵活地控制,也可以在方法中控制方法的参数. 语法如下: 泛型类名 extend ...

  2. java 事务_Java中事务总结详解(精华)

    1.什么是JAVA事务? 通常的观念认为,事务仅与数据库相关. 事务必须服从ISO/IEC所制定的ACID原则.ACID是原子性(atomicity).一致性(consistency).隔离性 (is ...

  3. [转载] c++多态与java多态性_Java中的多态性

    参考链接: Java中的加法和串联 c++多态与java多态性 Polymorphism is one of the core concepts of OOPS paradigm. The meani ...

  4. java 且_JAVA中逻辑运算符“|”和“”与“||”和“”的用法

    1.使用规则: (1)& 可以用作逻辑与的运算符,表示逻辑与(and) a.当运算符两边的表达式的结果都为true时,整个运算结果才为true,否则,只要有一方为false,则结果为false ...

  5. java 包装类_Java中的包装类

    Java中哪些需要包装类 它们将原始数据类型转换为对象.如果我们希望修改传递给方法的参数,则需要对象(因为基元类型是按值传递的). java.util包中的类只处理对象,因此在这种情况下包装类也有帮助 ...

  6. java 难度_java中难度大一点的面试题

    1.请大概描述一下Vector和ArrayList的区别,Hashtable和HashMap的区别.(5) (1)Vector和ArrayList的异同 实现原理,功能相同,可以互用 主要区别: Ve ...

  7. math java 计算_Java中的数学计算函数汇总

    Math类:  java.lang.Math类中包含基本的数字操作,如指数.对数.平方根和三角函数. java.math是一个包,提供用于执行任意精度整数(BigInteger)算法和任意精度小数(B ...

  8. java中的多态性_[转载] c++多态与java多态性_Java中的多态性

    参考链接: Java中的加法和串联 c++多态与java多态性 Polymorphism is one of the core concepts of OOPS paradigm. The meani ...

  9. c++多态与java多态性_Java中的多态性

    c++多态与java多态性 Polymorphism is one of the core concepts of OOPS paradigm. The meaning of polymorphism ...

最新文章

  1. VSLAM|回环检测之词袋字典效果测试及一点思考
  2. Android之工程目录介绍
  3. 检查字典中是否已存在给定键
  4. C语言再学习 -- 输入/输出
  5. 图数据的攻与防:智谱AI和biendata联合组织KDD Cup 2020
  6. java excel row遍历空_Java poi读取,写入Excel,处理row和cell可能为空的情况
  7. android图片浏览功能,怎么在Android应用中实现一个网页图片浏览功能
  8. openerp child_of操作符深度解析
  9. 使用POI读写word docx文件
  10. 香港学计算机,香港求学计算机专业集锦
  11. C#string与char互转
  12. smc数显压力表设定方法_日本SMC数显压力表中文说明书ISE40A-01-P-ML
  13. cowpatty无线破解之——WPA-PSK字典攻击
  14. 专用字典_字典生成工具_crunch
  15. Axure 8.1.0.3382 激活码(转)
  16. 前端工程师薪资差距可达7.3倍!4月程序员薪资统计出炉,速看!
  17. eclipse背景怎么改颜色
  18. 如何运行PION/ION(分布式流媒体系统)
  19. ps处理黑眼圈黑眼袋的方法集合
  20. 抖音直播监测——2分钟了解知音数据小程序

热门文章

  1. sql语句查询经纬度范围
  2. 中国钛产业运行现状分析及投资规模预测报告2022-2027年版
  3. CSS position:fixed定位时 “高度坍塌” 问题的解决
  4. 在华为云主机中添加新的云盘
  5. C#简单的九九乘法表
  6. 秒杀抢购异步下单:基于Redis的消息队列秒杀抢购异步下单功能
  7. [CSS]初识CSS
  8. UNSIGNED关键字的解释和用法
  9. configure 时-g 与 -O0 开关控制
  10. postfix全局通讯录和个人通讯录同步