Um guia introdutório para expressões regulares

Expressões regulares, comumente conhecidas como regex ou regexp, são sequências de caracteres que formam padrões de pesquisa. Eles são usados ​​principalmente para correspondência e manipulação de strings. Regex pode ser incrivelmente poderoso para pesquisar, substituir e extrair dados de texto.

Sintaxe Básica

Expressões regulares consistem em uma combinação de caracteres literais e caracteres especiais chamados metacaracteres. Aqui estão alguns componentes fundamentais:

  • Caracteres Literais: Estes são os caracteres normais que correspondem entre si. Por exemplo, a regex cat corresponde à string "cat".
  • Metacaracteres: Esses caracteres têm significados especiais e são usados ​​para construir padrões complexos. Os exemplos incluem ., *, +, ?, [], {}, () e |.

Metacaracteres Comuns

Abaixo estão alguns dos metacaracteres mais comumente usados ​​e suas funções:

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

Exemplos de padrões básicos

Vamos explorar alguns padrões básicos de regex com exemplos:

cat

Corresponde à string "cat" em qualquer lugar do texto.

.at

Corresponde a qualquer string contendo "a" seguido por qualquer caractere e depois "t". Por exemplo, "cat", "bat", "hat".

\d{3}

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

[a-z]

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

(dog|cat)

Corresponde a "dog" ou "cat".

Usando Regex na programação

Expressões regulares são suportadas em muitas linguagens de programação. Aqui estão exemplos de como usar regex em Python e JavaScript:

Exemplo de Python

import re

# Search for 'cat' in a string
pattern = r'cat'
text = 'The cat sat on the mat.'
match = re.search(pattern, text)

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

Exemplo de JavaScript

// Search for 'cat' in a string
const pattern = /cat/;
const text = 'The cat sat on the mat.';
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 processamento de texto e extração de dados. Ao compreender a sintaxe básica e os padrões comuns, você pode começar a utilizar regex em seus projetos para agilizar e aprimorar seus recursos de manipulação de texto. Pratique com diferentes padrões e explore os recursos avançados das expressões regulares para se tornar mais proficiente.