Ghidul începătorilor pentru expresii regulate

O guia do iniciante para expressões regulares

⌛ Reading Time: 4 minutes

Você já tentou encontrar um padrão recorrente em um trecho de texto? Você pode ter usado algo como a função de pesquisa em seu navegador ou processador de texto, mas quando precisa encontrar algo mais complexo, pode ser como encontrar uma agulha no palheiro proverbial.

Felizmente, há uma maneira de escolher padrões precisos no texto até o caractere. É chamado de expressões regulares (RegEx) e permite que você se torne um mestre na pesquisa de texto.

Onde posso usar o RegEx?

Embora o Unix e o Linux os tenham tornado populares, as expressões regulares estão disponíveis em uma variedade de pacotes, incluindo o Microsoft Word.

As expressões regulares são usadas principalmente em vários programas Linux notáveis, incluindo grep, Awk e Sed.

Por exemplo, você pode querer verificar os dispositivos USB em seu PC. Usando lspci, você verá uma lista de todos os dispositivos e terá que localizar as entradas USB sozinho. Em vez disso, você pode usar o seguinte para mostrar apenas os dispositivos USB:

Este é o exemplo mais simples de RegEx em ação. É a forma mais popular de usar expressões regulares no terminal, mas não a única. Hoje você pode encontrar suporte RegEx em muitos tipos diferentes de software, de editores de texto a gerenciadores de arquivos.

Encontrando Padrões

Você provavelmente já usou o * caractere, que atua como um curinga ao selecionar arquivos ou pastas no terminal. Por exemplo, para listar todos os arquivos JPG em uma pasta, você pode usar:

O RegEx equivalente ao acima seria:

Introdução aos Jpgs de filtro Regex

Para pesquisar arquivos jpg e png, use:

Gamas

Se você deseja pesquisar um intervalo específico de caracteres em vez de um padrão, pode fazer isso definindo-o entre colchetes. Se, por exemplo, você usa [a-z] como seu padrão, ele corresponderia a qualquer string consistindo em quaisquer letras minúsculas do alfabeto.

Como você deve ter adivinhado, [A-Z] selecionaria apenas letras maiúsculas. Para escolher qualquer intervalo de letras, tanto maiúsculas como minúsculas, a expressão mudaria para [a-zA-Z].

Para localizar um número específico de instâncias de seu padrão, você pode colocá-lo entre colchetes. {5} retornaria cinco ocorrências de seu padrão. Você também pode usar intervalos de números, então {5,10} apresentaria cinco a dez instâncias.

MetaCaracteres

Em expressões regulares, você também pode pesquisar partes de uma string com dois caracteres chamados metacaracteres. Eles são semelhantes às correspondências de curinga que você pode ter usado no shell.

O principal é o ponto simples, que representa qualquer outro caractere único. Se você usou o padrão c.ll, corresponderia a “celular”, mas também “abate” e “chamada”

Ao inserir um asterisco após um ponto, você pode usá-lo para corresponder a um número infinito de caracteres. Por exemplo, .*board será uma combinação para “teclado” e “skate”. mesmo que “chave” e “skate” tenham um número diferente de letras.

Escapar

Você deve ter notado que em nosso exemplo, onde selecionamos diferentes tipos de arquivos de imagem, usamos barras invertidas antes do ponto final (“ .jpg”). É assim que você evita caracteres especiais no RegEx.

Se não os usássemos, nosso padrão não corresponderia apenas às extensões dos arquivos, strings como “.jpg” e “.png”, mas também corresponderia a “ajpg” e “opng”. Lembrar, . é um curinga que corresponde a qualquer caractere.

Âncoras e limites

Âncoras e limites permitem que você defina com mais precisão o que você está procurando.

Para encontrar apenas a palavra individual “computador”, sem outros caracteres anexados antes ou depois, você deve definir o padrão como <computer>.

Você também pode pesquisar especificamente os padrões que aparecem no início ou no final da linha. Isso é alcançado com o ^ e $ caracteres respectivamente.

Então, se você quiser encontrar apenas as entradas onde a palavra “computador” aparece no início de uma linha, seu padrão seria semelhante ^computer. Pelo contrário, quando está no final da linha, o padrão mudaria para computer$.

Essas são regras simples do RegEx, que você também pode misturar para encontrar precisamente os padrões que procura. Você pode pesquisar intervalos de caracteres no início de uma linha ou palavras alternadas no final, datas específicas ou um intervalo de anos, usando uma única sequência de texto.

Não se esqueça de verificar nossa cheatsheet de Expressões regulares para dominar as expressões regulares.

Relacionado:

How useful was this post?

Click on a star to rate it!

Average rating 0 / 5. Vote count: 0

No votes so far! Be the first to rate this post.