Expressões Regulares em TypeScript: guia completo para iniciantes

Treinador Online de Python para Iniciantes

Aprenda Python facilmente sem sobrecarga teórica. Resolva tarefas práticas com verificação automática e escreva código diretamente no navegador.

Start Course

Expressões Regulares em TypeScript: da teoria à prática

Expressões regulares (regexp ou regex) são uma ferramenta poderosa para buscar, substituir e validar strings com base em um padrão definido. Em TypeScript, assim como em JavaScript, expressões regulares são um recurso nativo da linguagem. Este artigo ajudará você a dominar a sintaxe, aprender a aplicar regex na prática e evitar erros comuns.



O que é uma expressão regular e como criá-la em TypeScript

Uma expressão regular é uma sequência de caracteres que descreve um padrão de busca. Em TypeScript, existem duas formas de criar uma expressão regular:

  • Sintaxe literal: /padrão/flags
  • Construtor RegExp: new RegExp('padrão', 'flags')

A primeira forma é conveniente para padrões estáticos, a segunda quando o padrão é formado dinamicamente.

// Sintaxe literalconst emailPattern: RegExp = /^[\\w-\\.]+@([\\w-]+\\.)+[\\w-]{2,4}$/;

// Construtor RegExpconst dynamicPattern: string = "hello";const regexFromString: RegExp = new RegExp(dynamicPattern, "gi");

console.log(emailPattern.test("test@example.com")); // trueconsole.log(regexFromString.test("Hello world")); // true


Principais métodos para trabalhar com expressões regulares

Em TypeScript, existem três métodos-chave para trabalhar com regex. Vamos analisar cada um deles com exemplos.



Método test() — verificação de correspondência

Retorna true ou false. Ideal para validação.

const hasNumber: RegExp = /\\d+/;console.log(hasNumber.test("abc123")); // trueconsole.log(hasNumber.test("abc"));    // false


Método exec() — busca com detalhes

Retorna um array com a correspondência e informações adicionais (índice, string original). Ao usar a flag g, lembra a posição da última correspondência.

const wordPattern: RegExp = /(\\w+)\\s(\\w+)/;const result = wordPattern.exec("Hello TypeScript");if (result) {    console.log(`Correspondência completa: ${result[0]}`); // Hello TypeScript    console.log(`Primeiro grupo: ${result[1]}`);      // Hello    console.log(`Segundo grupo: ${result[2]}`);      // TypeScript    console.log(`Índice: ${result.index}`);          // 0}


Método match() — busca de todas as correspondências

É chamado na string, não na expressão regular. Com a flag g, retorna um array com todas as correspondências.

const text: string = "Preço: 100 reais, desconto: 20 reais";const prices: RegExp = /\\d+/g;const foundPrices: string[] | null = text.match(prices);console.log(foundPrices); // ['100', '20', '0']


Sintaxe e caracteres frequentemente usados

Para escrever expressões regulares eficientes, é preciso conhecer os caracteres básicos e seus significados.

  • . — qualquer caractere, exceto quebra de linha
  • \\d — dígito (equivalente a [0-9])
  • \\w — letra, dígito ou sublinhado ([a-zA-Z0-9_])
  • \\s — qualquer caractere de espaço em branco (espaço, tabulação, nova linha)
  • ^ — início da string
  • $ — final da string
  • * — 0 ou mais repetições
  • + — 1 ou mais repetições
  • ? — 0 ou 1 repetição (torna o quantificador preguiçoso)
  • [] — conjunto de caracteres (por exemplo, [a-z] — todas as letras minúsculas)
  • () — grupo de captura
  • | — OU lógico
// Exemplos de uso de caracteresconst phonePattern: RegExp = /^\\+?7?\\d{10}$/;console.log(phonePattern.test("+79161234567")); // true

const datePattern: RegExp = /^\\d{2}\\.\\d{2}\\.\\d{4}$/;console.log(datePattern.test("31.12.2023")); // true\

Blogs

Book Recommendations