Estoy bastante seguro algunos Regex-Ninja *, le daría una forma más o menos sensata de hacerlo (o como ahora veo que otros publicaron: formas de escribir dos expresiones en una línea ...)
Pero me pregunto por qué ¿Quieres dividirlo con solo una expresión? Para una división tan simple, probablemente sea más rápido hacer dos que crear una lógica lógica o cualquiera avanzada. Si divide dos veces, también es más seguro:
Supongo que desea separar la ruta, el nombre del archivo y la extensión del archivo, si divide en '/' primero, sabrá que el nombre del archivo debe estar en el último índice de matriz, luego Puede intentar dividir solo el último índice para ver si puede encontrar la extensión del archivo o no. Entonces no necesita preocuparse si hay puntos en los nombres de ruta.
* (Cualquier sanos usuarios de las expresiones regulares, no deberían ofenderse;).
esta es la solución correcta, pero no responde a la pregunta. El mío es el inverso :-) +1. –
+1: solución adecuada a la pregunta n00b. –
@Vinko Vrsalovic el tuyo no es al revés, y responde perfectamente a tu pregunta. –