Регулярное выражение для анализа всего пути?

#javascript #regex #filepath

#javascript #регулярное выражение #путь к файлу

Вопрос:

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

Язык — Javascript.

Спасибо

Ответ №1:

Почему бы не пропустить регулярное выражение и просто использовать 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:

Ну, на самом деле их несколько, но это зависит от того, что именно вы хотите проанализировать. Вы хотите что-то вроде: «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

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