¿Regex para analizar la ruta completa?

¿Existe una expresión regular que pueda analizar una cadena que apunta a un archivo o carpeta (desde la raíz, por ejemplo, C :)?

El idioma es Javascript.

Muchas Gracias

preguntado el 10 de mayo de 11 a las 13:05

2 Respuestas

¿Por qué no omitir la expresión regular y simplemente usar 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];

etc.

contestado el 10 de mayo de 11 a las 17:05

Bueno, en realidad hay varios, pero depende de lo que quieras analizar exactamente. ¿Quieres algo como: "C: /.../.../ nameOfFile.extension"? ¿O sin el nombre del archivo? ¿Puede ser más específico sobre el problema? Cual es la entrada?

Hice este código, realmente simple, que para una ruta determinada, te da la ruta sin la raíz.

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();    
    }
}

El resultado es:

/Folder1/Folder2/file.extension

No sé si esto es lo que quieres, pero solo tienes que jugar con métodos. Eventualmente llegará a la solución.

contestado el 10 de mayo de 11 a las 19:05

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.