O que são expressões regulares?
As expressões regulares (regex) são padrões utilizados para identificar combinações de caracteres em cadeias de caracteres. São suportadas em praticamente todas as linguagens de programação e são essenciais para o processamento de texto, a validação de entradas, a pesquisa e substituição e a análise de registos.
Sinalizadores de expressões regulares em JavaScript
- g — Global: encontra todas as correspondências, não apenas a primeira
- i — Sem distinção entre maiúsculas e minúsculas
- m — Multilinha: ^ e $ correspondem a limites de linha
- s — Dotall: . corresponde a caracteres de quebra de linha
Casos de utilização comuns
- Validação de endereços de e-mail, números de telefone e URLs
- Extração de dados de ficheiros de log e texto estruturado
- Procurar e substituir em editores de código e IDEs
- Construção de máscaras de entrada e validadores de formulários
- Análise e transformação de dados CSV, JSON e XML
Quando recorrer às expressões regulares
As expressões regulares destacam-se em padrões curtos e bem definidos, nos quais é necessário corresponder, extrair ou substituir texto — análise de linhas de registo, regras de encaminhamento de URL, validação de campos de formulário e operações de «procurar e substituir» num editor. Tornam-se, porém, um problema quando a entrada é, na verdade, uma linguagem estruturada: HTML, JSON, código-fonte ou qualquer coisa com delimitadores aninhados. Para esses casos, use um analisador de verdade; a expressão regular que escrever hoje irá falhar silenciosamente no próximo caso extremo.