Dúvida com Expressão Regular

2 respostas
dcbasso

Pessoal, estou com dúvida sobre expressão regular.
Tem um campo, arquivo de texto, e em um determinado campo númerica de 6 números as vezes pode vir com espaço em branco:

" 456"

Minha expressão regular não confere: “[0-9]{6}”, tentei também “[0-9]{0,6}” mas nada. Estou tentando de outras formas, mas ainda nada. Sou bem iniciante, qualquer ajuda ou luz aí ajuda.

Obrigado

2 Respostas

ademarizu

Cara,

não consegui achar um padrão exato para o tipo de string que você quer validar mas de qq forma…

String regex = “(\d|\s){1,6}?”;

Eu to validando se é um digito ou um espaco em branco. No mínimo 1 e no máximo 6.

Então são validos:

String a = " ";

String a = 1;

String a = 1 2;

String a = "12 ";

Ve se é isso mesmo que você precisa.

Flw

B

dcbasso:
Pessoal, estou com dúvida sobre expressão regular.
Tem um campo, arquivo de texto, e em um determinado campo númerica de 6 números as vezes pode vir com espaço em branco:

" 456"

Minha expressão regular não confere: “[0-9]{6}”, tentei também “[0-9]{0,6}” mas nada. Estou tentando de outras formas, mas ainda nada. Sou bem iniciante, qualquer ajuda ou luz aí ajuda.

Obrigado

Basicamente:

  • Pode ter espaços à esquerda

  • Não pode ter espaços no meio, senão dá pau com aquelas rotinas que fazem parse de números

  • Pode ter espaços à direita

  • Você quer realmente checar se tem exatamente 6 posições?

Pode fazer isso fora da expressão regular, senão vou ter de escrever uma expressão regular muito complicada.

Se testar isso fora da expressão regular, a expressão regular fica simples:
“\s*[0-9]+\s*”

“\s*” quer dizer “zero ou mais espaços”
“[0-9]+” quer dizer “um ou mais dígitos”

Criado 7 de outubro de 2010
Ultima resposta 7 de out. de 2010
Respostas 2
Participantes 3