Devolución de expresiones regulares superpuestas

¿Hay una expresión regular que capturará todas las instancias de una expresión, independientemente de si se superponen o no?

Por ejemplo, en /abc/def/ghi si quiero capturar todas las cadenas que comiencen con / . La expresión regular (/.*) solo devuelve toda la cadena, pero también me gustaría que coincida con /def/ghi y /ghi .

Claro, /.* coincidir una cadena vacía y coloque una mirada hacia adelante que capture /.* en un grupo de captura:

 Matcher m = Pattern.compile("(?=(/.*))").matcher("/abc/def/ghi"); while(m.find()) { System.out.println(m.group(1)); } 

imprimiría:

 /abc/def/ghi /def/ghi /ghi