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.
[quote=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[/quote]
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”