Antes do mundo explodir...

Wednesday, November 08, 2006

... regex ...

Está bem ... vamos parar de hipocrisia, pode dizer que regex parece nome de artigo de sex shop! Porém não é! Regex quer dizer Regular Expressions ou, em português, Expressões Regulares. Mas ninguém fala exre, acho que porque é esquisito, e parecer um artigo de entretenimento até que fica engraçadinho =]
Regex é a utilização de metacaracteres (caracteres especiais) junto com caracteres comuns, formando uma expressão. É bastante útil para busca de determinadas sequências de caracteres.
Entendeu? Não? Então vamos explicar melhor ...

Alguns metacaracteres/associações e o que significam:
[] - qualquer dos caracteres entre os colchetes
[^] - qualquer letra exceto a dos colchetes
. - qualquer caractere
+ - quantificador
* - quantificador
.* - busca qualquer coisa
| - "ou" lógico
e tem muito mais ...

Tendo o seguinte texto de nome "cravo_e_rosa":
O cravo brigou com a rosa
Não se que! não sei
mais lá !
Blá blá blá
bló bló bló
Só sei que foi assim...

Fazendo a busca de qualquer letra, seguida do caractere "!" ou "?" seria o seguinte:
comando: grep '[a-z][!?]' cravo_e_rosa
resposta da busca: Não se que! não sei
Blá blá blá??

A gente tem como formato do comando: grep [regex] [arquivo]
É importante colocar a regex entre aspas simples!

Mais um exemplo ...
comando: grep 'bl.' cravo_e_rosa
resposta da busca: Blá blá blá??
bló bló bló:

Na realidade pode-se formar expressões mais complexas que conseguem atingir uma especificidade interessante. Vários editores de texto usam regex, como o vi, vim, emacs ... e linguagen de programação também como java, python, perl...
Para saber mais: http://docs.python.org/lib/module-re.html
http://aurelio.net/

0 Comments:

Post a Comment

<< Home