Expressões regulares em TypeScript com exemplos

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: sintaxe, métodos e exemplos



Expressões regulares (regex) são uma ferramenta poderosa para trabalhar com strings. Em TypeScript, elas permitem não apenas buscar, substituir e verificar texto, mas também obter tipagem estrita dos resultados. Neste artigo, abordaremos todos os aspectos do trabalho com RegExp em TypeScript: desde a sintaxe básica até técnicas avançadas com exemplos de código.



1. Criando expressões regulares em TypeScript



Em TypeScript, assim como em JavaScript, existem duas maneiras de criar uma expressão regular:



Sintaxe literal

A forma mais comum e conveniente é usar barras:



const pattern: RegExp = /hello/gi;


Aqui, g é busca global, i é insensibilidade a maiúsculas/minúsculas. O tipo RegExp é inferido automaticamente, mas pode ser especificado explicitamente para legibilidade.



Construtor RegExp

Usado quando o padrão é formado dinamicamente:



const searchTerm: string = "world";const dynamicPattern: RegExp = new RegExp(searchTerm, "gi");


O segundo argumento é uma string com flags. O tipo do valor retornado é RegExp.



2. Métodos principais de RegExp e String



TypeScript herda todos os métodos do JavaScript, mas adiciona tipagem estrita a eles. Vamos analisar os principais métodos com exemplos.



Método test()

Verifica se há correspondência na string. Retorna boolean.



const emailRegex: RegExp = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$/;const email: string = "user@example.com";

const isValid: boolean = emailRegex.test(email);console.log(isValid); // true


Método exec()

Busca uma correspondência e retorna informações detalhadas. Retorna RegExpExecArray | null.



const text: string = "Preço: 1500 rublos, desconto: 200 rublos";const pricePattern: RegExp = /(\\d+)\\s*rublos/g;

let match: RegExpExecArray | null;while ((match = pricePattern.exec(text)) !== null) { console.log(`Encontrado: ${match[0]}, número: ${match[1]}`);}// Saída:// Encontrado: 1500 rublos, número: 1500// Encontrado: 200 rublos, número: 200


Método match() da string

Funciona de forma semelhante ao exec(), mas é chamado na string. Retorna RegExpMatchArray | null.



const phone: string = "Contatos: +7 (999) 123-45-67";const phoneRegex: RegExp = /\\+7\\s*\\(\\d{3}\\)\\s*\\d{3}-\\d{2}-\\d{2}/;

const result: RegExpMatchArray | null = phone.match(phoneRegex);if (result) { console.log(`Telefone encontrado: ${result[0]}`); // Telefone encontrado: +7 (999) 123-45-67}


Método replace()

Substitui correspondências por uma nova string. Retorna string. Suporta callback para substituições complexas.



function formatDate(input: string): string {    const datePattern: RegExp = /(\\d{4})-(\\d{2})-(\\d{2})/;    return input.replace(datePattern, "$3.$2.$1");}

const isoDate: string = "2025-03-10";const formatted: string = formatDate(isoDate);console.log(formatted); // "10.03.2025"


Método split()

Divide a string por uma expressão regular. Retorna string[].



const data: string = "maçã;pêra;laranja;banana";const items: string[] = data.split(/;\\s*/);console.log(items); // ["maçã", "pêra", "laranja", "banana"]


3. Flags e suas combinações



As flags controlam o comportamento da expressão regular. Em TypeScript, elas são definidas no literal ou no segundo argumento do construtor.



FlagDescriçãoExemplo
gBusca global (todas as correspondências)/ab/g
iInsensibilidade a maiúsculas/minúsculas

Blogs

Book Recommendations