java正则表达式的一个小问题

wo111180611 2013-04-27 01:22:57
public class moveFile {

private static String oldPath = null;

public static void main(String[] args) {
oldPath = "D:\\迅雷下载";
findFile(oldPath);
}

public static void findFile(String path) {
File f = new File(path);
File[] fileNames = f.listFiles();

for (File child : fileNames) {
if (child.getName().matches("^jia"))
System.out.println(child.getName());
}
}
}

文件夹下面有以“jia” 开头的文件 为什么不输出呢
...全文
180 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
yfk 2013-04-27
  • 打赏
  • 举报
回复
matches()是全部匹配,是将整个输入串与模式匹配 if (child.getName().matches("^jia.*"))正解
加权不平权 2013-04-27
  • 打赏
  • 举报
回复
对于^这个符号应该与【】组合使用。 [^abc] 任何字符,除了 a、b 或 c(否定)
Acesidonu 2013-04-27
  • 打赏
  • 举报
回复
引用 2 楼 Inhibitory 的回复:
if (child.getName().matches("^jia.*"))
++
Inhibitory 2013-04-27
  • 打赏
  • 举报
回复
if (child.getName().matches("^jia.*"))
zhang429867478 2013-04-27
  • 打赏
  • 举报
回复
for (File child : fileNames) { if (child.getName().matches("jia*")) System.out.println(child.getName()); }

62,621

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧