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 Regex em JavaScript
- g — Global: encontrar todas as ocorrências, e não apenas a primeira
- i — Correspondência sem distinção entre maiúsculas e minúsculas
- m — Multilinha: ^ e $ correspondem aos limites das linhas
- s — Dotall: . corresponde a caracteres de nova 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 registo e de texto estruturado
- Pesquisar e substituir em editores de código e IDEs
- Criaçã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 Regex
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 URLs, validação de campos de formulários 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, utilize um analisador sintático adequado; a RegEx que escrever hoje irá falhar silenciosamente no próximo caso limite.