Expressões Regulares em JavaScript
Aprenda a utilizar expressões regulares em JavaScript para realizar buscas e manipulações de texto de forma eficiente e poderosa.
As expressões regulares, também conhecidas como regex
, são sequências de caracteres que definem um padrão de busca em um texto. Elas são amplamente utilizadas para realizar buscas, substituições e validações de padrões em diferentes linguagens de programação, incluindo JavaScript
.
As expressões regulares permitem buscar por padrões específicos em uma string
, como por exemplo, encontrar todas as ocorrências de um determinado caractere, uma sequência de caracteres ou até mesmo palavras inteiras.
Sintaxe das expressões regulares em JavaScript
Em JavaScript
, as expressões regulares são representadas entre duas barras (/
). O padrão a ser buscado é definido entre as barras. Por exemplo, a expressão regular /abc/
buscará por todas as ocorrências da sequência "abc" em uma string
.
Além disso, as expressões regulares podem incluir modificadores para especificar opções adicionais, como a busca sem diferenciação entre maiúsculas e minúsculas ou a busca global.
Para utilizar as expressões regulares em JavaScript
, é possível utilizar o construtor RegExp
ou os métodos nativos das strings.
Métodos para trabalhar com expressões regulares
JavaScript fornece diversos métodos que permitem trabalhar com expressões regulares. Alguns dos principais métodos são:
test()
: Verifica se um padrão de busca ocorre em umastring
e retornatrue
oufalse
.exec()
: Busca por um padrão em umastring
e retorna as informações sobre a primeira correspondência encontrada.match()
: Busca por um padrão em umastring
e retorna umarray
contendo todas as correspondências encontradas.search()
: Busca por um padrão em umastring
e retorna a posição da primeira ocorrência encontrada.replace()
: Substitui um padrão por outro valor em umastring
.split()
: Divide umastring
em umarray
desubstrings
com base em um padrão.
Exemplos de uso
A seguir, serão apresentados alguns exemplos de uso de expressões regulares em JavaScript
.
Exemplo 1: Verificar se um e-mail é válido
const email = "exemplo@teste.com";
const regex = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/;
const isValid = regex.test(email);
console.log(isValid); // true
Neste exemplo, utilizamos a expressão regular /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/
para verificar se um e-mail é válido. A expressão regular valida se o e-mail possui o formato correto.
Exemplo 2: Substituir uma palavra em um texto
const texto = "O Covil do Dev é um ótimo lugar para aprender programação.";
const regex = /Covil do Dev/g;
const novoTexto = texto.replace(regex, "site Covil do Dev");
console.log(novoTexto); // "O site Covil do Dev é um ótimo lugar para aprender programação."
Neste exemplo, utilizamos a expressão regular /Covil do Dev/g
para buscar a palavra "Covil do Dev" em um texto e substituí-la por "site Covil do Dev".
Perguntas frequentes
1. Quais são os modificadores mais comuns em expressões regulares?
Alguns dos modificadores mais comuns em expressões regulares em JavaScript
são:
g
: busca global, ou seja, busca por todas as ocorrências do padrão.i
: busca sem diferenciação entre maiúsculas e minúsculas.m
: busca em várias linhas.
2. É possível combinar expressões regulares com outras funções em JavaScript?
Sim, é possível combinar expressões regulares com outras funções em JavaScript
, como o método replace()
para substituir valores em uma string
.
3. O que é um padrão de busca?
Um padrão de busca é uma sequência de caracteres que define o que será buscado em uma string
utilizando uma expressão regular. Por exemplo, o padrão /abc/
busca por todas as ocorrências da sequência "abc" em uma string
.
4. É possível criar expressões regulares dinamicamente em JavaScript?
Sim, é possível criar expressões regulares dinamicamente em JavaScript
utilizando o construtor RegExp
. Por exemplo: const regex = new RegExp("abc", "g");
.
5. Expressões regulares são suportadas em todos os navegadores?
Sim, as expressões regulares são suportadas em todos os navegadores modernos. No entanto, é importante verificar se o navegador alvo suporta as funcionalidades específicas que você pretende utilizar.
Referências: