Atualizado: 21/06/2025

Este conteúdo é original e não foi gerado por inteligência artificial.

Expressões Regulares nos Métodos da String com JavaScript

Vários métodos do objeto String podem utilizar expressões regulares como parâmetro.

Método match

Para encontrar todas as correspondências em uma string, utiliza-se o método match():

const initialText = "Ele escreveu um artigo sobre arte moderna.";
const exp = /art[a-z]*/gi;
const result = initialText.match(exp);
result.forEach((value) => console.log(value));

// Alternativamente
// console.log(result[0]);
// console.log(result[1]);

O símbolo asterisco indica a possibilidade de existir após a palavra "art" um número indefinido de caracteres de "a" a "z". Assim, o array result conterá as seguintes palavras:

artigo
arte

Por outro lado, este método é semelhante ao método exec() do objeto RegExp, com a exceção de que exec() retorna apenas a primeira ocorrência:

const initialText = "Ele escreveu um artigo sobre arte moderna.";
const exp = /art[a-z]*/gi;
const result = exp.exec(initialText);
result.forEach((value) => console.log(value));

O resultado será:

artigo

Divisão de string. Método split

O método split pode usar expressões regulares para dividir strings. Por exemplo, vamos dividir um texto em palavras usando o metacaractere \s:

const initialText = "Hoje o tempo estava maravilhoso";
const exp = /\s/;
const result = initialText.split(exp);
result.forEach((value) => console.log(value));

Saída no navegador:

Hoje
o
tempo
estava
maravilhoso

Pesquisa em string. Método search

O método search encontra o índice da primeira correspondência na string:

const initialText = "olá mundo";
const exp = /mun/;
const result = initialText.search(exp);
console.log(result); // 4

Substituição. Método replace

O método replace permite substituir todas as correspondências de uma expressão regular por uma string específica. O primeiro parâmetro é a expressão regular e o segundo é a substituição. Exemplo de substituição:

let menu = "Café da manhã: mingau, chá. Almoço: sopa, chá. Jantar: salada, chá.";
const exp = /chá/gi;
menu = menu.replace(exp, "café");
console.log(menu);

Saída no navegador:

Café da manhã: mingau, café. Almoço: sopa, café. Jantar: salada, café.

Outra forma do método aceita uma função de substituição. Esta função recebe a correspondência da expressão regular e retorna a string substituta. Por exemplo, vamos substituir o chá por café apenas no café da manhã:

let menu = "Café da manhã: mingau, chá. Almoço: sopa, chá. Jantar: salada, chá.";
const exp = /chá/gi;
let i = 0;
menu = menu.replace(exp, function (tee) {
  if (i++ === 0) return "café";
  else return tee;
});
console.log(menu); // Café da manhã: mingau, café. Almoço: sopa, chá. Jantar: salada, chá.

Utilizamos um contador como indicador de substituição. Se for igual a 0, realizamos a substituição. Nos demais casos, retornamos a correspondência original, "chá".

Caso mais complexo. Suponhamos o seguinte texto:

Publication Date: 2021-09-06
Updated on: 2021-09-14

Aqui usamos datas no formato yyyy-MM-dd. Vamos mudar o formato para "dd.MM.yyyy" com o seguinte programa:

const exp = /\d{4}-\d{2}-\d{2}/g;
let text = "Publication Date: 2021-09-06\nUpdated on: 2021-09-14";

text = text.replace(exp, function (date) {
  const arr = date.split("-");
  return `${arr[2]}.${arr[1]}.${arr[0]}`;
});
console.log(text);

Extraímos todas as correspondências da expressão regular /\d{4}-\d{2}-\d{2}/g. No método replace, recebemos a correspondência pelo parâmetro date e usamos a função split() para dividi-lo em três partes pelo hífen, resultando em um array com os componentes da data. Então, retornamos a data em outro formato:

Publication Date: 06.09.2021
Updated on: 14.09.2021
Política de Privacidade

Copyright © www.programicio.com Todos os direitos reservados

É proibida a reprodução do conteúdo desta página sem autorização prévia do autor.

Contato: programicio@gmail.com