Ver se String esta dentro da mascara ou parte dela
7 respostas
xandevieira
Bom dia, estou com dificuldade em resolver um pequeno problema.
Posso ter uma mascara assim:
#.#.##.##.##.##.####
Se eu passar uma String assim ela estará correta, pois estão em parte da mascara.
1
1.1
1.1.01
1.1.01.01
1.1.01.01.01
1.1.01.01.01.01
1.1.01.01.01.01.0001
Se eu passar algo diferente em algum nível estará errada.
O problema é manutenção, outro programador pode não entender ou achar gambiarra, sei lá.
Ta funcionando, no momento é o que importa, heheh
charleston10
ah pra mim nao ta gambiarra, é o jeito de se fazer…
o cara que for da manutenção vai enteder…
ou voce pode comentar
// Chefe, foi o senhor quem mandou eu colocar esssa gambiarra. //Quando eu escrevi esse código, apenas Deus e eu sabíamos o que eu estava fazendo //Hoje só Deus sabe //Desculpa ai mano, mas tava com presa porque a empresa tava me pressionando pra caramba e tive que criar o código todo estruturado, foi mal. //*****Eu tenho de encontrar um emprego melhor if(0==1){//Apenas para garantir que meu comentário não vai ser compilado /*//<série de comentários> //... //<fim da série de comentários> */}
kkkk
E
entanglement
Esse é o tipo de expressão regular que é bem chatinha de escrever e mais chata ainda de entender.
Em particular, eu prefiro a solução dos loops que você mostrou (porque é fácil de entender e fácil de mudar, caso a máscara mude), mas se quiser uma expressão regular, aí vai ela:
Conclusão: use os loops mesmo. Essa expressão regular é dos infernos.
xandevieira
Pois é, já tentei aprender mexer com expressão regular, mas nunca consegui entender esse troço.
E minha mascara vai mudar, pois depende de cada cliente.
E
entanglement
Expressão regular é legal mas deve ser usada com moderação.
No seu caso, por exemplo, achei uma expressão regular, mas ela é tão complexa e inflexível que, sinceramente, não vale a pena usá-la.