Alguém conhece um site que ao colocar o numero ele já mostre a expressão regular automaticamente?
É porque estou tentando montar uma pressão regular com duas casas decimais, assim como mostra abaixo;
1.500,00
Alguém conhece um site que ao colocar o numero ele já mostre a expressão regular automaticamente?
É porque estou tentando montar uma pressão regular com duas casas decimais, assim como mostra abaixo;
1.500,00
A seguinte regex deve atender sua necessidade: "\\d{1,3}[\\.\\d{3}]*\\,\\d{2}"
Exemplo:
String[] numeros = new String[] {
"1",
"1.1",
"1.12",
"1.123",
"1,1",
"1,12",
"1,123",
"12",
"12.1",
"12.12",
"12.123",
"12,1",
"12,12",
"12,123",
"123",
"123.1",
"123.12",
"123.123",
"123,1",
"123,12",
"123,123",
"1.234",
"1.234.1",
"1.234.12",
"1.234.123",
"1.234,1",
"1.234,12",
"1.234,123",
"12.345",
"12.345.1",
"12.345.12",
"12.345.123",
"12.345,1",
"12.345,12",
"12.345,123",
"123.456",
"123.456.1",
"123.456.12",
"123.456.123",
"123.456,1",
"123.456,12",
"123.456,123",
"1.234.567",
"1.234.567.1",
"1.234.567.12",
"1.234.567.123",
"1.234.567,1",
"1.234.567,12",
"1.234.567,123",
};
String regex = "\\d{1,3}[\\.\\d{3}]*\\,\\d{2}";
StringBuilder validos = new StringBuilder();
StringBuilder invalidos = new StringBuilder();
for (String numero : numeros) {
if (numero.matches(regex)) {
validos.append(numero).append("\n");
} else {
invalidos.append(numero).append("\n");
}
}
System.out.println("VALIDOS:\n" + validos);
System.out.println("INVALIDOS:\n" + invalidos);
Eu me enganei, o cliente não queria assim 1.500,00, ele quer assim 1500,00
Por favor, como ficaria dessa vez?
A regex que tu te passei ( "\\d{1,3}[\\.\\d{3}]*\\,\\d{2}"
) possui 4 partes distintas:
\\d{1,3}
)[\\.\\d{3}]*
)\\,
)\\d{2}
)Monte sua regex com as seguintes 3 partes:
seu dever estudar como se faz isso
)já tem exemplo na regex anterior
)já tem exemplo na regex anterior
)Dica, a documentação da classe Pattern do Java traz bastante informações acerca de expressões regulares.