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 "";
}
スニペットは常に戻ってきます""
。ファイル名は、指定されたregexと一致することを期待しています。なぜそれが一致していないのかという考えはありますか?