15 de novembro de 2011

Conhecendo REGEX -- Principio da utilização

Em mais uma de minha investidas, não é aplicativo/programa e sim um recurso de busca e substituição implementada pela maiorias de editores de textos e IDE

Para quem não sabe esses editores de textos, não passa mais de um "NOTEPAD" super turbinado, isso mesmo, cheio de recursos bacaninha principalmente para quem pratica desenvolvimento, seja fazer websites, webapps(hoje em dia chamamos de programas na nuvem, onde tudo roda e tem acesso dentro do seu navegador) e mesmo programas para seu computador com telinha e tudo mais. Se viajarmos nessa maionese vai ser um romance e muitos aqui é bem caidinho quem matou quem no ultimo capitulo, contarei ele em uma outra hora.

Voltando ao que interessa, iremos falar de expressões regulares! Podemos aplicar regex para mais diversos fins, ajudando muito em trabalho repetitivo como no caso de alterar uma lista de telefones com mais de 1000 entradas... Caramba! É é muito trabalho, ou validar se foi digitado está de acordo para ser armazenado ou mesmo precisar de retirar valores de um relatório e guardar e manipular posteriormente. Com regex é possível!

Deixo claro que a implementação das expressões varia dos programas utilizados, fique atento o que ele aceita, quebrei muita cabeça por causa disso.

Vou dar exemplos para Linux, mas não difere muito de grosso modo o entedimento, usaremos um aplicativo próprio para tratamento dessas expressões regulares na saída do terminal, supomos que queremos fazer uma listagem de telefones e filtrar por determinada ocorrência:
$ cat telefone.txt
Nome      Telefone
fulano    (00)00000000
beltrano  (11)11111111
ciclano   (22)22222222
fábio     (33)33333333
cíntia    (44)44444444
andré     (55)55555555
$ grep 'a' telefone.txt 
fulano    (00)00000000
beltrano  (11)11111111
ciclano   (22)22222222
cíntia    (44)44444444
andré     (55)55555555
O comando que executamos, é o grep, este comando tem como principal finalidade de filtragem de saída. No exemplo abaixo listamos o conteúdo do arquivo para ver o que nele contém, note ao fazer o comando grep ele retirou a única entrada que não contém "a", ou seja Fábio. eu poderia parar por aqui como precisamos uma introdução pouco mais profunda nós iremos progredir, queremos agora que só os que começa com a letra "c" apareça, então iremos utilizar um carácter ^, ficando assim:
$ grep '^c' telefone.txt
ciclano   (22)22222222
cíntia    (44)44444444
Esse caractere é uma constante, fazendo parte da expressão mas dá para colocar ele como o que está buscando e a maioria dos usando um \ e com esse você pode indicar qualquer constante para fazer parte da busca.

Com isso já delongamos esta parte do assunto pois sua extensão e aplica em muitos casos. Também para não deixar o texto cansativo ;)

Interessou? quer mais material e boa qualidade e você encontra! No site do Aurelio este cara é convicto e evangelizador de expressões regulares em língua portuguesa. Vale a pena acompanhar o blog dele, eu agarantio!

Nenhum comentário: