[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [Expressoes Regulares]: senha com letras e numeros obrigatoriamente



--- RicardoFunke <ricardo.debian@gmail.com> escreveu:

> Galera, nada disso funcionou, eu preciso de expressões regulares
> legítimas sem interferência de qualquer linguagem de programação.
> 
> Quem for fera em REGEX e puder me auxiliar com isso, eu vou agradecer
> muito!
> 
> Obrigado a todos
> 
> 
> Em 25/06/07, RicardoFunke<ricardo.debian@gmail.com> escreveu:
> > Olá pessoal,
> >
> > Eu vou testar as dicas, mas não sei se todas vão funcionar, esqueci
> de
> > avisar que o programa que testa as senhas é feito em java e utiliza
> > uma classe especial java feita para Expressões Regulares.
> >
> > Qualquer coisa eu volto a postar
> >
> > Valeu!
> >
> > Em 23/06/07, henrique<jmhenrique@yahoo.com.br> escreveu:
> > > --- Bruno Buys <bruno.grupos@gmail.com> escreveu:
> > >
> > > > RicardoFunke wrote:
> > > > > Olá lista,
> > > > >
> > > > > Estou com uma aplicação que faz validação de senha por uso de
> > > > > Expressões Regulares, estou tentando descobrir uma expressão
> que
> > > > > verifica se a senha possui letras e números obrigatoriamente,
> ou
> > > > seja,
> > > > > não aceitar senha só com letras, nem só com números, somente
> se
> > > > tiver
> > > > > números e letras.
> > > > >
> > > > > Mas eu gostaria que o usuário tivesse a liberdade de colocar
> as
> > > > letras
> > > > > e números na posição que lhe convier e não obrigar que as
> letras ou
> > > > > números tivesse uma posição fixa.
> > > > >
> > > > > É possível fazer esse tipo de validação com as Expressões
> > > > Regulares?
> > > > >
> > > > > Alguém poderia me dizer como?
> > > > >
> > > > > Já tentei um horror de coisa, pesquisando em vários tutoriais
> na
> > > > > internet, mas estou achando que não é possível fazer isso
> somente
> > > > com
> > > > > REGEX. Gostaria muito que alguém me provasse o contrário!
> > > > >
> > > > > Obrigado a todos
> > > > >
> > > > > --
> > > > > Ricardo Funke Ormieres
> > > > >
> > > > >
> > > > Oi Ricardo,
> > > > Acho que dá sim. Se for com bash script eu posso ajudar.
> > > >
> > > >
> > >
> > > tipo isso abaixo?
> > >
> > > #!/usr/bin/perl
> > > my $senha=shift();
> > >
> > > if ( $senha =~ m/^(\d+\w*[a-zA-Z]+|[a-zA-Z]+\w*\d+)\w*/){
> > > print "$senha\n";
> > > }
> > > else{
> > > print "nao deu certo, escolha outra senha. \n";
> > > }
> > >
> > >
> > > ~
> > > ~
> > > ~
> > >
> > > ===================
> > >
> > > henry@tulipa:~$ perl autentica.pl aaa
> > > nao deu certo, escolha outra senha.
> > > henry@tulipa:~$ perl autentica.pl 11223
> > > nao deu certo, escolha outra senha.
> > > henry@tulipa:~$ perl autentica.pl sas12112
> > > sas12112
> > > henry@tulipa:~$ perl autentica.pl 121asas1212
> > > 121asas1212
> > >
> > >
> > > parece bem fácil. É isso o que vc procura?
> > >
> > > caso queira algo mais "entendível, fiz esse outro codigo tbm:
> > >
> > > if (( $senha =~ m/\d/ ) && ( $senha =~ m/[a-zA-Z]/ ))
> > >
> > > mas ai é uma implementação da linguagem, e não necessariamente
> uma
> > > unica regex. Sinceramente não sei qual das duas acima gasta mais
> > > processamento. De acordo com a sua linguagem escolhida,
> compensaria
> > > testar.
> > >
> > > [ ]s, e divirta-se.
> > >  Henry.
> > >
> > >
> > >
> > >
> > >
>
____________________________________________________________________________________
> > > Novo Yahoo! Cadê? - Experimente uma nova busca.
> > > http://yahoo.com.br/oqueeuganhocomisso
> > >
> > >
> > > --
> > > To UNSUBSCRIBE, email to
> debian-user-portuguese-REQUEST@lists.debian.org
> > > with a subject of "unsubscribe". Trouble? Contact
> listmaster@lists.debian.org
> > >
> > >
> >
> 

Ricardo, quando você falou isso abaixo:
"esqueci de avisar que o programa que testa as senhas é feito em java e
utiliza uma "CLASSE ESPECIAL JAVA" feita para Expressões Regulares."
(grifo meu) você já deixou avisado que não quer uma "regex pura", e sim
uma regex que funcione com a sua classe em java. 

Esta regex funciona mto bem em perl. 

/(\d+\w*[a-zA-Z]+|[a-zA-Z]+\w*\d+)\w*/

mas no bash....  uma tristeza. Se você dissesse quais os metodos dessa
sua classe em java, o que ela entende como intervalo de letras e
numeros, palavras e não-numeros e não-palavras e se ela aceita
encadeamento pipe, TALVEZ pudéssemos e quiséssemos ajudar melhor. 

uma regex "pura" para bash não funcionará mto bem em perl e
provavelmente NUNCA funcionará em java. Talvez em python. Ou não. 

SEMPRE vc vai estar atrelado a uma linguagem e as suas peculiaridades.

"For these reasons, many other utilities and applications have adopted
syntaxes that look a lot like Perl's ? for example, Java, Ruby, Python,
PHP, exim, BBEdit, and Microsoft's .NET Framework all use regular
expression syntax similar to Perl's. Languages such as JScript and PHP
support both normal and Perl compatible regular expressions. Not all
"Perl-compatible" regular expression implementations are identical, and
many implement only a subset of Perl's features. With the Perl 5.9.x
(development track for Perl 5.10) this process has come full circle
with Perl incorporating syntax extensions originally from Python, the
.NET Framework, and Java."

texto completo em: 
http://en.wikipedia.org/wiki/Regular_expression

[ ],Henry.


       
____________________________________________________________________________________
Novo Yahoo! Cadê? - Experimente uma nova busca.
http://yahoo.com.br/oqueeuganhocomisso 



Reply to: