Expressões regulares estendidas com grep

Em: 09/08/2008 Tags: , Referencie do seu blog (Trackback)

Imagine que você deseja descobrir quais linhas de um arquivo possuem uma data com o formato DD/MM/YYYY. Com o grep isso é muito simples:

grep '[0-9][0-9]/[0-9][0-9]/[0-9][0-9][0-9][0-9]' arquivo

É eficaz, mas a legibilidade não é das melhores. E se nossa expressão regular (ER) precisasse casar uma seqüência de 10, 20 números? Ela ia ficar cada vez menos legível. Nessas horas é interessante poder utilizar a especificação POSIX para expressões regulares estendidas (ERE).

É, eu não estaria escrevendo este texto para dizer que o grep não suporta EREs. Ele suporta! Só precisamos habilitar a opção -E. Com ela habilitada, nossa expressão pode ser reescrita como:

grep -E '[0-9]{2}/[0-9]{2}/[0-9]{4}' arquivo

Muito melhor!

Artigos relacionados:

Uma resposta para “Expressões regulares estendidas com grep”

  1. O PHP suporta expressões regulares estendidas | Caio Moritz Ronchi disse:

    [...] saber o que são expressões regulares estendidas, recomendo que leia este artigo aqui do blog. Então por que estou falando nisso de [...]

Escreva um comentário (utilize o formato Markdown)