資料夾下有檔案:
myfile_mark_1.mp4
myfile_john_2.mp4
myfile_jake_3.mp4
myfile_tristan_4.mp4
yourfile_mark_1.mp4
只想找出 前綴 myfile_ 且 尾碼 _1.mp4、_2.mp4、_3.mp4 的檔案。
myfile_.*_[123]\\.mp4
myfile_:字面比對前綴。.*:任意字元(中間名稱)。_:底線分隔。[123]:單一數字 1、2 或 3。\\.mp4:副檔名(點需跳脫)。File dir = new File(Environment.getExternalStorageDirectory().getAbsolutePath());
Pattern p = Pattern.compile("myfile_.*_[123]\\\\.mp4");
File[] files = dir.listFiles((dir1, name) -> p.matcher(name).matches());
for (File f : files) {
Log.d("FILE", f.getName());
}
myfile_mark_1.mp4
myfile_john_2.mp4
myfile_jake_3.mp4