Bom Dia pessoal,
Estou estudando regex para aplicar em um projeto e li várias documentações já, estou com uma dúvida que creio que Vcs possam me ajudar.
Tenho a seguinte regex: (\d{3,5}\,\d{2}), teoricamente não era para aceitar números que vão de 3 a 5 dígitos antes da vírgula e 2 depois da vírgula ???
Exemplo: 100,50 - Válido, 1000,50 - Válido, 10000,50 - Válido, 10,50 - Inválido, 100000,50 - Inválido… Quando ele não atinge o valor MIN de digitos (3) dá false no teste, mas quando estoura os 5 (MAX) continua dando true… não entendi…
Segue o código:
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class teste {
public static void main(String[] args) {
String data = "999999,55";
Pattern pattern = Pattern.compile("(\\d{3,5}\\,\\d{2})");
Matcher matcher = pattern.matcher(data);
if(matcher.find()){
System.out.println("valido");
} else {
System.out.println("invalido");
}
}
}
Obrigado,