As expressões regulares são escritas numa linguagem formal para identificar os blocos de texto que coincidem com a especificação dada.
O exemplo mais simples e arcaico de uma expressão regular é o uso do asterisco (*) e da interrogação (?) na linha de comando do windows ou Linux, aonde o asterisco representa qualquer conjuto de caracteres e a interrogação representa um caractere qualquer (como quando, por exemplo, você busca por todos os arquivos com final .doc fazendo um "dir *.doc"). Hoje as expressões regulares são aceitas em uma grande quantidade de linguagens de programação e ferramentas, como Perl, Python, Ruby, Java, PHP, e MySQL.
Recentemente eu encontrei um artigo com 8 expressões regulares referente a informações capturadas em web sites que todo mundo deveria saber. Elas são bem interessantes e mostram o poder das expressões regulares, por isso eu resolvi destacar aqui 5 delas:
- Para identificar um username: /^[a-z0-9_-]{3,16}$/
- Para uma senha com 6 a 18 caracteres: /^[a-z0-9_-]{6,18}$/
- Para identificar um e-mail: /^([a-z0-9_\.-]+)@([\da-z\.-]+)\.([a-z\.]{2,6})$/
- Para uma URL: /^(https?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?$/
- Para um endereço IP:
/^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/
^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$
Além das expressões acima, outra que pode ser bastante utilizada no dia-a-dia é para identificar nomes de pessoas. Sem considerar caracteres acentuados, uma exressão simples sugerida pelo site Regexpal é:
^[a-zA-Z]+(([',. -][a-zA-Z ])?[a-zA-Z]*)*$Eu, recentemente, me baseei nesse para criar um Regex bem mais simples, aonde o "\s" permite identificar nomes compostos:
[A-Za-z\s]+
Há vários sites que ajudam a criar e testar expressões regulares, basta uma busca rápida no Google. Três sites muito bons são o regexr.com e o regexpal.com, e o regex101.com. Neles é possível colar o texto aonde você quer achar um determinado padrão e testar sua expressão regular, na medida que a escreve. ambos os sites também tem algumas referências e exemplos.
A O'Reilly tem dois livros sobre o assunto:
Para saber mais:
Nenhum comentário:
Postar um comentário