Sim, ** um ou dois checks ** de regras dentro de strings Sem Dúvida são enxutos usando expressões regulares, mas RAPIDAMENTE ao vc acumular várias regras (e são MESMO VÁRIAS, essa meia dúzia de regras que citei são apenas ALGUMAS das mais importantes, nãoe esgotam Não as possibilidades!) vc vai ver que a coisa começa a ficar Complexa pra debugar - EM ESPECIAL porque, ao invés de termos comandos, tudo fica em caracteres funcionais numa expressão só - eu fico perdidinho Fácil a hora que a expressão regular começa a ter mais de uma dúzia de caracteres funcionais, fácil.... Por exemplo, digamos que vamos implementar a regra de que o email tem que começar por letra , o caracter para indicar começo da string é ^, para assegurar que a string contenha elementos de uma lista é [] , e para representar letraz de A a Z usamos A-Z, então fica assim : ^[A-Z] mas ainda tem mais o que colocar a regra de obrigatório um @ (isso é o sinal de +), que depois do @ tem que vir alfanumérico, chegamos nisto : ^[A-Z]+@[A-Z0-9] e aí vai, vc vai ver que fácil pra chegar numa expressão regular usável, implementando pelo menos essa meia dúzia simples de regras, muito provavelmente vamos chegar numa dúzia opu mais de comandos regulares, pra mim isso não é algo Enxuto pra se debugar/entender/analisar - pode ser Enxuto no sentido de menos texto escrito, menos código, mas pra se ENTENDER a lógica (permitindo posterior debug) nem sempre... Senso assim, a minha Preferência pessoal seria mesmo por fazer algo mais ou menos como exemplificado, separando os IFs, mas vai da preferência, mesmo : afinal, se é verdade que normalmente é mais fácil de se entender/analisar código linear E código explícito não tem o consumo de CPU por vezes louco das regexps, como eu tinha dito antes SE consumo extra não é uma preocupação E SE a pessoa tá acostumada com regexps, COM CERTEZA usando regexp vai escrever SIm um código mais curto : http://www.regular-expressions.info/email.html é om ponto de partida interessante pra esses casos... []s Chiappa OBS : é importante, creio, que se frise (pela última vez na thread, mais pra consumo de eventuais leitores que não acompanharam do começo) que comparações com strings (pra ver se há caracteres alfabéticos dentro dela, por exemplo) são TOTALMENTE DEPENDENTES das questões NLS para que o RDBMS possa 'entender' que as letras acentuadas Fazem Parte do conjunto de caracteres alfabéticos, o link que indiquei acima Re-afirma esse importante ponto.... Assim sendo, como eu havia dito repito :o CERTO, o Recomendado, o modo Ótimo de se trabalhar é se ASSEGURAR que o setting de NLS da sessão-cliente é O MESMO (ou pelo menos COmpatível) com os settings NLS do banco, aí tanto expressões regexp como A-Z funcionam, Quanto também é Possível incluir no código de verificação de email sendo escrito linhas para convertemos as letras acentuadas para letras comuns Ou então usarmos as funções que tratam strings localizadas.....
Re: [oracle_br] Diferença executando REGEXP_LIKE
jlchia...@yahoo.com.br [oracle_br] Thu, 06 Oct 2016 07:25:48 -0700
- [oracle... zfurq...@gmail.com [oracle_br]