Java Regex Group

Boa tarde
estou tentando criar uma expressao regular para trazer uma parte da string porem sem sucesso ainda.
eu tenho por exemplo a seguinte string
13*123456
quero retornar apenas a primeira parte (hj eu uso G0*1, que me retorna 13), isso seria bem simples caso usa-se um split
porem eu tenho
13*MS*MS*005*1*SV
ae quero retornar apenas a parte do MS*005*1
no sistema atual eu uso a seguinte forma (G2*3)
que seria me retorna a partir do segundo campo separado por * ae conta 3, e este separador pode ser qq outro caracter

Não entendi direito o que vc quer fazer, mas acho que esse código pode ajudar:

public void test() {
try {
String str_entrada = “13MSMS0051*SV”;
String str_pesquisa = “G2*3”;
Pattern p = Pattern.compile("(\w+)+");
Matcher m = p.matcher(str_entrada);
List resultado = new ArrayList();
while (m.find()) {
resultado.add(m.group());
}
if (resultado.size() > 0) {
int group_start = Integer.parseInt(str_pesquisa.substring(1, 2)) - 1;
int count = Integer.parseInt(str_pesquisa.substring(3, 4));
for (int i = 0; i != count; count–) {
System.out.println(resultado.get(group_start++));
}
} else {
System.out.println(“Pesquisa sem retorno!”);
}
} catch (Exception e) {
System.out.println(“Algo deu errado!”);
e.printStackTrace();
}
}