Regex для анализа всего пути? - PullRequest
3 голосов
/ 10 мая 2011

Существует ли регулярное выражение, которое может анализировать строку, указывающую на файл или папку (из корня, например, C:)?

Язык - это Javascript.

Спасибо

Ответы [ 2 ]

2 голосов
/ 10 мая 2011

Почему бы не пропустить регулярное выражение и просто использовать split?

var path = "C:\\Users\\Joe.Blow\\Documents\\Pictures\\NotPr0n\\testimage1.jpg"
var arrPath = path.split("\\");
var filename = arrPath[arrPath.length - 1];
var drive = arrPath[0];

и т. Д.

2 голосов
/ 10 мая 2011

Ну, на самом деле их несколько, но это зависит от того, что именно вы хотите проанализировать.Вы хотите что-то вроде: "C: /.../.../ nameOfFile.extension"?Или без имени файла?Можете ли вы быть более конкретным о проблеме?Какой ввод?

Я сделал этот код очень простым, который для заданного пути дает путь без корня.

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class TestProgram {

    static String path = "C:\\Folder1\\Folder2\\file.extension";

    private static void parsePath() {
      String newPath = "";
      String root = "C:";
      Matcher regexMatcher;
      regexMatcher = Pattern.compile("\\\\").matcher(path);
      newPath = regexMatcher.replaceAll("/");
      regexMatcher = Pattern.compile(root).matcher(newPath);
      newPath = regexMatcher.replaceAll("");    
      System.out.println(newPath);
    }

    public static void main(String[] args) {
       parsePath();    
    }
}

Вывод:

/ Folder1 / Folder2 / file.extension

Я не знаю, хотите ли вы этого, но вам просто нужно играть с методами.В конечном итоге вы достигнете решения.

...