Por que expressões regulares são difíceis de aprender
Expressões regulares (Regex) parecem uma "língua alienígena", uma sequência de símbolos que dá dor de cabeça. Mas sua capacidade de processar texto é insubstituível — validar e-mails, extrair dados, substituir em lote: poucas linhas de regex equivalem a dezenas de linhas de código. O segredo é dominar os padrões mais comuns; basta saber consultá-los quando precisar, não é necessário memorizar tudo.
Tabela de padrões comuns de regex
Validação
| Uso | Padrão regex |
|---|---|
| ^[\w.-]+@[\w.-]+.\w+$ | |
| Telefone celular (China continental) | ^1[3-9]\d{9}$ |
| URL | ^https?://[\w.-]+(:\d+)?(/.*)?$ |
| Número de identidade (18 dígitos) | ^\d{17}[\dXx]$ |
| Endereço IP | ^(\d{1,3}.){3}\d{1,3}$ |
Extração
| Uso | Padrão regex |
|---|---|
| Extrair todos os números | \d+ |
| Extrair conteúdo de tags HTML | <(tag)>(.*?)</\1> |
| Extrair links | https?://[\w./?=&%-]+ |
| Extrair caracteres chineses | [\u4e00-\u9fa5]+ |
Substituição
| Uso | Regex → substituição |
|---|---|
| Remover linhas em branco | Quebras de linha consecutivas + espaços → quebra única |
| Mascarar telefone | Quatro dígitos do meio substituídos por **** |
| camelCase para snake_case | Inserir underline antes de maiúsculas |
Ferramenta de teste de regex do DocsAll
Use a ferramenta de teste de regex para depurar em tempo real:
- Abra a ferramenta de teste de regex
- Insira a expressão regular e escolha os flags (g global, i ignora maiúsculas/minúsculas, m multilinha)
- Cole o texto de teste
- Veja os resultados da correspondência destacados em tempo real
Escrever e testar ao mesmo tempo é muito mais eficiente do que escrever regex às cegas. Para mais fundamentos de regex, consulte o tutorial de expressões regulares.
Memorização de metacaracteres comuns
- . qualquer caractere (exceto quebra de linha)
- \d dígito, \w letra/dígito/sublinhado, \s espaço em branco
- ^ início da linha, $ final da linha
- * 0 ou mais vezes, + 1 ou mais vezes, ? 0 ou 1 vez
- {n,m} de n a m vezes
- [] conjunto de caracteres, () grupo, | ou
Dicas de depuração
Teste por partes
Escreva regex complexos em partes; teste a cada adição para localizar problemas mais facilmente.
Use correspondência não gananciosa
Correspondência gananciosa captura demais; a não gananciosa (acrescente ? ao quantificador) captura o mínimo e costuma ser usada para extrair conteúdo.
Cuidado com escape
Para corresponder aos próprios metacaracteres como ., *, ?, use a barra invertida para escapá-los, por exemplo, para o ponto use .
Não dependa demais de regex
Analisar HTML/JSON complexo com regex é propenso a erros; use um analisador quando for o caso. Regex é adequado para correspondência de texto com regras claras.
Sugestão
Organize seus padrões regex comuns em sua própria tabela de referência; quando precisar, basta copiar e ajustar. Com a validação em tempo real da ferramenta de teste, regex não é tão difícil.