java正则表达式和awkfilenamefilter

bqjvbblv  于 2021-07-03  发布在  Java
关注(0)|答案(2)|浏览(332)

我们有一个文件夹,里面有很多文件。我们的程序需要读取一个最新版本的特定文件。文件名类似于“2016-03-04-12-46-48\u \u 123456\u 1.xml”。
而不是读取所有的文件,然后迭代,以找到确切的文件,我用下面的代码与正则表达式

File folder = new File("C:\\some_folder")    
folder.listFiles((FilenameFilter) new AwkFilenameFilter("(\\d){4}-(\\d){2}-(\\d){2}-(\\d){2}-(\\d){2}-(\\d){2}_ABC_" + <ID_String> +"_(\\d){1,2}"))

但由于某些原因,正则表达式不起作用。有人能帮忙吗?

hrysbysz

hrysbysz1#

试试这个。

"\d{4}-\d{2}-\d{2}-\d{2}-\d{2}-\d{2}_ABC_"+<ID string>+"_\d{1}.xml"

这对我来说非常有效。

xienkqul

xienkqul2#

似乎缺少正则表达式中的文件扩展名:

(\\d){4}-(\\d){2}-(\\d){2}-(\\d){2}-(\\d){2}-(\\d){2}_ABC_" + <ID_String> +"_(\\d){1,2}\\.xml

相关问题