0
Regex pattern: hnm_sarai_ntpl_((19|20)\\d\\d)(0?[1-9]|1[012])(0?[1-9]|[12][0-9]|3[01])
File name: hnm_sarai_ntpl_20130808

我从远程位置获取文件作为 FTPFile。我想将其名称与提到的正则表达式模式相匹配。

List<String> fileNamePatterns=new ArrayList<String>();
fileNamePatterns.add("hnm_sarai_ntpl_((19|20)\\d\\d)(0?[1-9]|1[012])(0?[1-9]|[12][0-9]|3[01])");

FTPFile file; //file's name is = hnm_sarai_ntpl_20130808

Pattern p = Pattern.compile(_fileNamePatterns.get(0));
Matcher m = p.matcher(file.getName());
if (m.matches()) {
    return file.getName();
} else {
    return "";
}

片段总是返回"",我希望文件名应该与给定的正则表达式匹配。知道为什么它不匹配吗?

4

0 回答 0