LPPloveROU 2013-08-12 08:54 采纳率: 50%
浏览 2388
已采纳

使用pattern查找文件(正则表达式)

在文件夹中的文件:

myfile_mark_1.mp4
myfile_john_2.mp4
myfile_jake_3.mp4
myfile_tristan_4.mp4
yourfile_mark_1.mp4

如果我要查找前缀包含myfile_,后缀不大于3.mp4的(比如"_3.mp4", "_2.mp4", "_1.mp4")。
因此查找结果应该是:

myfile_mark_1.mp4
myfile_john_2.mp4 and
myfile_jake_3.mp4

不知道怎么实现?

我的代码:

String myDirectory = Environment.getExternalStorageDirectory().getAbsolutePath();
File f = new File(myDirectory);
     if(f.exists() && f.isDirectory()){
         final Pattern p = Pattern.compile("myfile_*\\_(^0*(1?\\d|%d)$).mp4"); // I know I really have a stupid mistake on the regex;

         File[] flists = f.listFiles(new FileFilter(){
             @Override
            public boolean accept(File file) {
                 return p.matcher(file.getName()).matches();
            }
         });
         String s = "wait a minute, i'm debugging";
     }
  • 写回答

2条回答 默认 最新

  • redCoral_ 2013-08-12 09:15
    关注

    正则表达式的要求相当简单:

    myfile_.*_[123]\\.mp4
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥15 c++头文件不能识别CDialog
  • ¥15 Excel发现不可读取的内容
  • ¥15 关于#stm32#的问题:CANOpen的PDO同步传输问题