要求:
我必须在一个目录下找到一个名为uninstaller的应用程序,该目录包含一些文件,例如Uninstaller(如果是linux操作系统)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!
请帮助我解决这个问题。
最佳答案
如果我理解正确的话,您希望匹配所有以 bin
、jar
或 lax
结尾的 Unistaller 文件。在这种情况下,请使用:
"Uninstaller\.(bin|jar|lax)"
编辑:
啊,这样的话,你可以匹配:
"^Uninstaller(\.exe)?$"
关于java - 如何使用 Or 和 Not java 正则表达式运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16854256/