Olá,
Preciso de uma expressão regular que valide um campo de texto com um número decimal para ser passado para uma coluna NUMBER(9,3) de um banco de dados oracle. O número deve conter no máximo 9 dígitos, sendo que 3 destes podem ou não ser casas decimais, por exemplo:
23.10 --> PASSA
23.109 --> PASSA
23.1109 --> NÃO PASSA
232323232 --> PASSA
12345678.3 --> PASSA
-12345678 --> PASSA
-123456789 --> NÃO PASSA
123456.789 --> PASSA
1234567.89 --> PASSA
123456.789 --> PASSA
1123456.789 --> NÃO PASSA
-12345.678 --> PASSA
-123456.789 – NÃO PASSA
Resumindo, o número deve conter no máximo 3 dígitos decimais e no máximo 9 no total. Eu já fiz esta expressão:
Ela consegue validar a quantidade de dígitos depois do ponto e o sinal de + ou - no início. Consegue também validar se o número possui 9 dígitos antes do ponto, mas não considera os depois do ponto, portanto não é o desejado. Alguém tem uma ideia sobre como corrigir esta expressão? Desde já agradeço.