Estoy un poco atrapado en una expresión regular. Considere siguiente código:RegEx para leer múltiples parámetros de multiplicidad desconocida
String regFlagMulti = "^(\\[([\\w=]*?)\\])*?$";
String flagMulti = "[TestFlag=1000][TestFlagSecond=1000]";
Matcher mFlagMulti = Pattern.compile(regFlagMulti).matcher(flagMulti);
if(mFlagMulti.matches()){
for(int i = 0; i <= mFlagMulti.groupCount(); i++){
System.out.println(mFlagMulti.group(i));
}
}else{
System.out.println("MultiFlag didn't match!");
}
Lo que quiero es un patrón regular que me da el texto dentro del []; cada uno en un grupo del objeto Matcher resultante.
Importante: ¡No sé cuántas expresiones [] hay dentro de la cadena de entrada!
Para el código anterior se da salida:
[TestFlag=1000][TestFlagSecond=1000]
[TestFlagSecond=1000]
TestFlagSecond=1000
no puede obtener el patrón regular para trabajar. Alguien una idea?
Esto no está en el punto, pero en lugar de '([\\ w =] *?)', Quizás '([^ \\]] *)' también lo haría. –