需求:

我必须在目录下找到一个名为卸载程序的应用程序,该目录包含一些文件,例如Uninstaller(对于linux os而言),Uninstaller.exe(对于Windows而言),Uninstaller.jar和Uninstaller.lax

我试过了

final String pattern = "Uninstaller.*.(exe|[^lax]|[^jar])";
final FileFilter filter = new RegexFileFilter(pattern);
files = installDir.listFiles(filter);


但是如果是Linux,它会返回Uninstaller.lax!

请帮助我克服问题。

最佳答案

如果我理解正确,则希望匹配所有以binjarlax结尾的Unistaller文件。在这种情况下,请使用以下命令:

"Uninstaller\.(bin|jar|lax)"


编辑:

嗯,在这种情况下,您可以匹配:

"^Uninstaller(\.exe)?$"

09-27 15:36