Um tutorial para iniciantes em expressões regulares

Expressões regulares, muitas vezes abreviadas como regex ou regexp, são sequências de caracteres que definem um padrão de pesquisa. Eles são comumente usados ​​para correspondência de strings, substituição de substrings e extração de informações de texto.

Por que aprender expressões regulares?

Aprender expressões regulares pode melhorar muito sua capacidade de lidar com dados de texto. Com regex, você pode:

  • Procure padrões específicos no texto.
  • Valide dados de entrada, como endereços de e-mail e números de telefone.
  • Extraia partes específicas de um texto, como datas e URLs.
  • Substitua substrings no texto com base em padrões.

Componentes básicos de expressões regulares

Regex é composto de caracteres literais e metacaracteres. Aqui estão alguns dos componentes básicos:

  • Caracteres literais: Caracteres que combinam entre si. Por exemplo, a corresponde a "a".
  • Metacaracteres: Caracteres especiais com significados específicos, como ., *, + e ?.

Metacaracteres comuns e seus significados

Compreender os metacaracteres é a chave para dominar o regex. Aqui estão alguns dos mais comumente usados:

  • . - Corresponde a qualquer caractere, exceto nova linha.
  • * - Corresponde a 0 ou mais repetições do elemento anterior.
  • + - Corresponde a 1 ou mais repetições do elemento anterior.
  • ? - Corresponde a 0 ou 1 repetição do elemento anterior.
  • [] - Corresponde a qualquer um dos caracteres entre colchetes.
  • {} – especifica um número específico de ocorrências do elemento anterior.
  • () - Agrupa vários tokens e cria grupos de captura.
  • | - Atua como um operador OR.

Padrões Regex básicos com exemplos

Vejamos alguns padrões básicos de regex e como eles funcionam:

cat

Corresponde à string exata "cat".

.at

Corresponde a qualquer string contendo um único caractere seguido por "at", como "cat", "bat", "hat".

\d{3}

Corresponde exatamente a três dígitos, como "123", "456", "789".

[a-z]

Corresponde a qualquer letra minúscula de "a" a "z".

(dog|cat)

Corresponde a "dog" ou "cat".

Usando Regex em linguagens de programação

Expressões regulares são amplamente suportadas em diversas linguagens de programação. Aqui estão exemplos de uso de regex em Python e JavaScript:

Exemplo de Python

import re

# Search for 'dog' in a string
pattern = r'dog'
text = 'The dog barked loudly.'
match = re.search(pattern, text)

if match:
    print('Match found:', match.group())
else:
    print('No match found')

Exemplo de JavaScript

// Search for 'dog' in a string
const pattern = /dog/;
const text = 'The dog barked loudly.';
const match = text.match(pattern);

if (match) {
    console.log('Match found:', match[0]);
} else {
    console.log('No match found');
}

Conclusão

As expressões regulares são uma ferramenta poderosa para quem lida com processamento de texto. Ao compreender e praticar os componentes e padrões básicos, você pode melhorar significativamente sua capacidade de lidar e manipular texto em seus projetos de programação. Experimente diferentes padrões e aprofunde seu conhecimento para desbloquear todo o potencial do regex.