Para una ruta determinada, por ejemplo: abc/def/hijkl/mno.txt cómo extraer todas las rutas como se muestra a continuación
abc abc/def abc/def/hijkl abc/def/hijkl/mno.txtComo una matriz con la ruta real y todas las rutas secundarias hasta la ruta raíz.
Intenté obtener esto con expresiones regulares, pero no encuentro una manera de hacer coincidir cada aparición de / desde el comienzo de la cadena.
A continuación se muestra la expresión regular que he probado
(.*?)?\/+¿Hay alguna forma de obtener esta salida con expresiones regulares en javascript?
No necesita Regexp para esto.
Simplemente puede dividir su cadena en una matriz usando split , luego reconstituir porciones de esa matriz nuevamente en caminos usando join .
const path = "abc/def/hijkl/mno.txt"; const segments = path.split('/'); const paths = segments.map((s, i) => segments.slice(0, i + 1).join('/')) console.log(paths)Puede dividir su cadena por / y agregar la lista de arreglos como desee:
Ejemplo:
const str = `abc/def/hijkl/mno.txt`; let array = str.split('/'); res="" len=array.length; for (let i = 0; i < len; i++) { res+=array[i]; console.log(res); if(i<len-1) res+="/"; }