OSDN Git Service

条件に合致する文字列だけを返す
authoryukihane <yukihane.feather@gmail.com>
Fri, 2 Sep 2011 05:30:03 +0000 (14:30 +0900)
committeryukihane <yukihane.feather@gmail.com>
Fri, 9 Sep 2011 11:39:10 +0000 (20:39 +0900)
frontend/src/yukihane/inqubus/filewatch/FileWatchUtil.java

index 5bb709a..10b357f 100644 (file)
@@ -15,18 +15,21 @@ import org.apache.commons.io.FilenameUtils;
 public final class FileWatchUtil {
     // TODO スレッドID指定の場合の考慮も必要か
 
-    private static final Pattern VIDEO_ID_PATTERN = Pattern.compile("\\w\\w\\d+");
+    private static final Pattern VIDEO_ID_PATTERN = Pattern.compile("(\\w\\w\\d+)");
 
     private FileWatchUtil() {
     }
 
-    public static SortedSet<String> getVideoIds(Collection<Path> paths) {
+    public static SortedSet<String> getVideoIds(Collection<Path> paths, String text) {
         final SortedSet<String> set = new TreeSet<>();
         for (Path p : paths) {
             final String name = FilenameUtils.getBaseName(p.toString());
             final Matcher m = VIDEO_ID_PATTERN.matcher(name);
             while (m.find()) {
-                set.add(m.group());
+                final String alt = m.group(1);
+                if (alt.startsWith(text)) {
+                    set.add(alt);
+                }
             }
         }
         return set;