Imaginem que eu tenho uma String assim : “O valor para o parametro 1 é {0} e para o 2 é {1}”
Existe alguma forma de contar quantas sequencias tem de numeros entre {} usando regular expressions ou outro mecanismo sem ser fazendo um for e comparando caracter a caracter ?
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Regex {
public static void main(String[] args) {
String s = "O valor para o parametro 1 é {0} e para o 2 é {1} e"
+ " esse aqui é o {3}";
Pattern p = Pattern.compile("\\{\\d\\}");
int count = 0;
Matcher m = p.matcher(s);
while (m.find()) {
count++;
System.out.println("Match number " + count);
System.out.println("start(): " + m.start());
System.out.println("end(): " + m.end());
}
}
}
So alterei o patter incluidno um sinal de + para pegar numeros de mais de um dígito tambem.
Pattern p = Pattern.compile("\{\d+\}");