相关疑难解决方法(0)

如何在Java中查找与通配符字符串匹配的文件?

这应该很简单.如果我有这样的字符串:

../Test?/sample*.txt
Run Code Online (Sandbox Code Playgroud)

那么获得与此模式匹配的文件列表的普遍接受的方法是什么?(例如,它应匹配../Test1/sample22b.txt,../Test4/sample-spiffy.txt但不是../Test3/sample2.blah../Test44/sample2.txt)

我已经看了一下org.apache.commons.io.filefilter.WildcardFileFilter它似乎是正确的野兽,但我不知道如何使用它来查找相对目录路径中的文件.

我想我可以查看ant的源代码,因为它使用了通配符语法,但我必须在这里遗漏一些非常明显的东西.

(编辑:上面的例子只是一个示例案例.我正在寻找在运行时解析包含通配符的常规路径的方法.我根据mmyers的建议想出了如何做到这一点,但这有点烦人.更不用说java JRE似乎从一个参数中自动解析main(String []参数)中的简单通配符,以"节省"我的时间和麻烦......我很高兴我没有非文件参数混合.)

java file wildcard

144
推荐指数
11
解决办法
23万
查看次数

.gitignore的扩展正则表达式(ERE)

有没有办法在.gitignore文件中使用扩展正则表达式(ERE)?例如,我想+.gitignore文件中使用重复字符.有没有办法做到这一点?

regex git gitignore metacharacters

34
推荐指数
2
解决办法
2万
查看次数

正则表达式通配符匹配

我有一个大约12万个英语单词的列表(基本上是语言中的每个单词).

我需要一个正则表达式,允许使用通配符字符搜索这些单词,aka *?.

几个例子:

  • 如果用户搜索m?st*,它将匹配例如mastermistermistery.
  • 如果用户搜索*ind(任何结尾的单词ind),它将匹配windbindblindgrind.

现在,大多数用户(尤其是那些不熟悉正则表达式的用户)知道它?只是一个字符*的替代品,而是0,1个或更多字符的替代品.我绝对想基于此构建我的搜索功能.

我的问题是:如何将用户输入的内容(m?st*例如)转换为正则表达式?

我在网上搜索(显然包括这个网站),我找到的所有内容都是试图教我太多的教程或者有些相似的问题,但还不足以为我自己的问题提供答案.

所有我能想出的是,我不得不更换?..因此m?st*变得m.st*.但是,我不知道要替换什么*.

任何帮助将不胜感激.谢谢.

PS:我对正则表达式完全陌生.我知道它们有多么强大,但我也知道它们很难学.所以我从来没有花时间去做它......

java regex

22
推荐指数
4
解决办法
6万
查看次数

从glob表达式创建正则表达式

我编写用正则表达式解析文本的程序.应从用户处获得正则表达式.我希望使用glob语法进行用户输入,并在内部将glob字符串转换为正则表达式.例如:

"foo.? bar*" 
Run Code Online (Sandbox Code Playgroud)

应转换为

"^.*foo\.\w\bar\w+.*"
Run Code Online (Sandbox Code Playgroud)

不知何故,我需要从字符串中转义所有有意义的字符,然后我需要替换glob*和?具有适当的正则表达式语法的字符.这样做最方便的方法是什么?

regex search glob

20
推荐指数
2
解决办法
2万
查看次数

在Scala中查找与通配符String匹配的文件

如何获取Array[io.BufferedSource]与给定目录中的通配符匹配的所有文件?

即,如何定义的方法io.Source.fromDir,使得

val txtFiles: Array[io.BufferedSource] = io.Source.fromDir("myDir/*.txt") // ???
Run Code Online (Sandbox Code Playgroud)

注意到文件实用程序阿帕奇百科全书IO,但非常优选是没有外部依赖性Scala的API为基础的方法.

scala file wildcard scala-collections

7
推荐指数
2
解决办法
6793
查看次数

在Java中使用glob匹配路径字符串

我有以下字符串作为全局规则:

**/*.txt
Run Code Online (Sandbox Code Playgroud)

并测试数据:

/foo/bar.txt
/foo/buz.jpg
/foo/oof/text.txt
Run Code Online (Sandbox Code Playgroud)

是否可以使用glob规则(不将glob转换为regex)来匹配测试数据并返回valud条目?

一个要求: Java 1.6

java glob

3
推荐指数
1
解决办法
3875
查看次数

Java字符串与通配符匹配

我有一个带有外卡的模式字符串说X(例如:abc*).

我还有一组字符串,我必须匹配给定的模式.

例如:

abf - false

abc_fgh - 是的

abcgafa - 是的

fgabcafa - false

我尝试使用正则表达式,它没有用.

这是我的代码

String pattern = "abc*";
String str = "abcdef";

Pattern regex = Pattern.compile(pattern);

return regex.matcher(str).matches();
Run Code Online (Sandbox Code Playgroud)

这返回false

有没有其他方法可以使这项工作?

谢谢

java regex wildcard pattern-matching

2
推荐指数
1
解决办法
6943
查看次数