Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

jcalebe

[Resolvido] Exercícios com Expressões Regulares

Recommended Posts

Olá!

Sempre que preciso usar uma expressão regular recorro a algum script pronto da net, mas isso nunca me ensina nada.

 

Então gostaria que me indicassem exercícios para que eu aprenda a usar as expressões regulares, pois sempre que tento fazer uma, não funciona ou pelo menos não como esperado.

 

Obrigado.

:skull:

Compartilhar este post


Link para o post
Compartilhar em outros sites

<input name="xxxxxx" class="lelele" />
<input name="lalala" class="yyyyyy" />

 

Inverta os parâmetros, de forma que fique da seguinte maneira, usando somente uma ER:

 

<input name="lelele" class="xxxxxx" />
<input name="yyyyyy" class="lalala" />

 

Isso é bom para caso você utilize um editor que tenha Search & Replace com suporte à expressões regulares, como o meu, e quer editar parâmetros do código de forma automática. É um exercício bastante fácil, mas é base para boa parte dos problemas com ER's que você ainda terá.

Outro exercício muito bom é criar um sistema que colore automaticamente códigos, como o nosso do fórum de tag [ CODE ], ou uma função bbcode, ambos utilizando a menor quantidade possível de código.

 

Você ainda pode fazer exercícios comuns, como funções de validação de e-mail, telefone, endereço, deixando-os flexíveis, porém seguros.

 

Recomendo esse site para testes de ER's: http://regexpal.com

 

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Matheus!

Gostei muito deste site para testar minhas ERs, é bastante interessante.

 

Vou começar "por baixo", fazendo a validação de telefone e email, depois parto para algo mais ousado, como o highlight para códigos.

 

Agradeço pela atenção.

 

Mas como eu vou saber o que cada colchete, barra invertida ou asterisco faz?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se você quer começar "por baixo", passe longe de validação de e-mail porque para você atender todas as "regras" e definições possíveis de um e-mail no formato user@isp.tld você vai perceber que é a coisa é muito cabeluda.

 

Por baixo mesmo seria tipo esse que o Matheus passou ou então validação de datas, horas, telefones, documentos...

 

Daí você "sobe um pouquinho" com validação de IP, tags HTML e começa a pegar as ER's "básicas" acima e começa a fazê-las suportar mais de um formato de entrada: 3/3/1988, 3/3/88, 03/3/1988, 3/03,1988 e etc.

 

Mais pra cima disso você poderia criar um mini-parser de páginas HTML, já que você faria casamentos e substituições usando a mais variada combinação de metacaracteres. Se possível procure por algum HTML "imundo", para tornar o desafio ainda melhor.

 

Acima disso seria você reinventar a roda. Não que você deva usar isso em produção, mas é interessante para aprender. O caso do e-mail é um bom exemplo...

 

Se precisar de ajuda, pode sempre contar com o Guia ER

 

Bons estudos :thumbsup:

Compartilhar este post


Link para o post
Compartilhar em outros sites
Mas como eu vou saber o que cada colchete, barra invertida ou asterisco faz?

 

Imaginei que você já tivesse embasamento sobre o assunto.

Vou te passar uma dica valiosa: Manual do PHP

Não somente ele, quanto os comentários, estão repletos de informação e exemplos.

 

Recomendo ainda este livro: http://novatec.com.br/livros/expressoesregulares/

 

Depois que começares a tentar a fazer os exercícios, poste suas dúvidas aqui, que te ajudamos.

 

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se precisar de ajuda, pode sempre contar com o Guia ER

 

Bons estudos :thumbsup:

 

Gostei muito deste guia! Estou estudando neste momento.

 

Imaginei que você já tivesse embasamento sobre o assunto.

 

Tudo que conheço sobre ERs é a função preg_match() mesmo.

 

Obrigado a todos, já é suficiente para entrar no mundo dos ERs.

Resolvido!

 

 

[]'s

 

:skull: :ninja:

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.