这是我使用正则表达式为FileFilter编写的一些代码。它的目的是匹配上传的日志文件并增加文件名的索引。我不想担心文件名中的任何内容,只是接受它作为字符串文字,而不会旋转对正则表达式模式匹配有意义的文件名转义字符。
mylog.log mylog-1.登录 mylog-2.登录
public boolean accept(File file) {
Pattern pattern = Pattern.compile(filenameWithoutExtension + "-*[0-9]*." + extension);
Matcher matcher = pattern.matcher(file.getName());
return matcher.matches();
}
我的问题是,如果文件名包含一个括号,这将不起作用,因为括号表示模式匹配器的特殊内容。
mylog(副本)的.log
我想用一个符号来表示filenameWithoutExtension,匹配此字符串,忽略其中可能是模式匹配语法的任何内容。