正则表达式和AwkFilenameFilter

时间:2016-05-10 05:21:31

标签: java regex apache

我们有一个文件夹,我们转储了很多文件。我们的程序需要读取一个具有最新版本的特定文件。文件名类似于" 2016-03-04-12-46-48_ABC_123456_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}"))

但由于某种原因,reqular表达不起作用。有人可以帮忙吗?

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:0)

试试这个。

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

它非常适合我。