gpt4 book ai didi

java - 查找具有模式的文件

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:22:13 25 4
gpt4 key购买 nike

我尝试搜索名称如下的文件:ENV20120517 every thing you what and finish by .DAT

所以我将模式设置为:“ENV20120517*.*DAT”。

 public boolean accept(File dir, String name) {
if (pattern != null) {
return name.matches(pattern);
}
return false;
}

为什么使用之前的模式,我得到 true for: name = "ENV20120516053518.DAT"?

最佳答案

String.matches()需要 regular expression ,而不是 glob pattern .

碰巧 ENV20120517*.*DAT 是一个有效的正则表达式。但是,它确实与您期望的含义不同:它匹配以 ENV2012051 开头并以 DAT 结尾的任何字符串(.* 匹配任何内容,7* 实际上是一个空操作。

以下正则表达式等同于您问题中的模式 ENV20120517.*[.].*DAT

有关如何在 Java 中进行全局匹配的一些想法,请参阅 Is there an equivalent of java.util.regex for "glob" type patterns?

关于java - 查找具有模式的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10733809/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com