Vamos falar sobre expressões regulares (Regex).
Nesse artigo, vamos abordar alguns conceitos, ver como usá-los com exemplos práticos. Este guia é adequado tanto para iniciantes quanto para aqueles que já têm alguma experiência.
O Que São Expressões Regulares?
Expressões regulares, ou Regex, são sequências de caracteres que formam um padrão de pesquisa. Elas são usadas para procurar e manipular texto baseado em padrões específicos. Regex pode ser usada em diversas linguagens de programação, como JavaScript, Java, Python entre outras.
Por Que Usar Regex?
Regex é extremamente útil para:
- Validação de entrada de dados (como e-mails, números de telefone)
- Busca e substituição em texto
- Extração de informações de grandes volumes de texto
Sintaxe Básica
Caracteres Literais
O exemplo mais simples de Regex é a correspondência de caracteres literais. Por exemplo, a expressão animal
corresponde exatamente à sequência "animal" no texto.
Metacaracteres
Metacaracteres têm significados especiais em Regex. Alguns dos metacaracteres mais comuns são:
-
.
: Corresponde a qualquer caractere único, exceto nova linha. -
^
: Início de uma linha. -
$
: Fim de uma linha. -
*
: Zero ou mais ocorrências do caractere anterior. -
+
: Uma ou mais ocorrências do caractere anterior. -
?
: Zero ou uma ocorrência do caractere anterior. -
\
: Escapa um metacaractere (por exemplo,\.
corresponde a um ponto literal).
Conjuntos de Caracteres
Conjuntos de caracteres permitem especificar um conjunto de caracteres que correspondem a uma posição no texto. Eles são definidos entre colchetes []
.
-
[abc]
: Corresponde a qualquer um dos caracteres a, b ou c. -
[a-z]
: Corresponde a qualquer caractere minúsculo de a a z. -
[^abc]
: Corresponde a qualquer caractere que não seja a, b ou c.
Âncoras e Limites
-
\b
: Limite de palavra (fronteira entre caractere de palavra e não-palavra). -
\B
: Não-limite de palavra.
Exemplos Práticos
Validação de E-mail
Um exemplo comum é a validação de endereços de e-mail. Uma Regex para validar e-mails pode ser complexa, mas um exemplo simples seria:
^[\w.-]+@[a-zA-Z\d.-]+\.[a-zA-Z]{2,6}$
-
^[\w.-]+
: Início da linha seguido por um ou mais caracteres de palavra, ponto ou hífen. -
@[a-zA-Z\d.-]+
: Um caractere @ seguido por um ou mais caracteres alfanuméricos, ponto ou hífen. -
\.[a-zA-Z]{2,6}$
: Um ponto seguido por 2 a 6 caracteres alfabéticos até o fim da linha.
Exemplo em JavaScript:
const emailPattern = /^[\w.-]+@[a-zA-Z\d.-]+\.[a-zA-Z]{2,6}$/;
const email = "exemplo@dominio.com";
console.log(emailPattern.test(email)); // true
Extração de URLs
Para extrair URLs de um texto, você pode usar a seguinte Regex:
https?:\/\/[^\s]+
-
https?
: Corresponde a "http" ou "https". -
:\/\/
: Corresponde a "://". -
[^\s]+
: Corresponde a um ou mais caracteres que não sejam espaço.
Exemplo em JavaScript:
const text = "Visite nosso site em http://example.com e http://test.com";
const urlPattern = /https?:\/\/[^\s]+/g;
const urls = text.match(urlPattern);
console.log(urls); // ["http://example.com", "http://test.com"]
Substituição de Palavras
Para substituir todas as ocorrências da palavra "foo" por "bar" em um texto, você pode usar a Regex:
s/foo/bar/g
-
foo
: O padrão a ser correspondido. -
bar
: O texto de substituição. -
g
: Modificador que significa "global", ou seja, substituir todas as ocorrências.
Exemplo em JavaScript:
const text = "foo é uma palavra comum, foo é usada frequentemente.";
const newText = text.replace(/foo/g, 'bar');
console.log(newText); // "bar é uma palavra comum, bar é usada frequentemente."
Conclusão
Regex é uma ferramenta poderosa e versátil para manipulação de texto. Compreender sua sintaxe e aprender a aplicá-la em diferentes contextos pode economizar tempo e esforço em tarefas de processamento de texto. Comece com os conceitos básicos e experimente com exemplos práticos para melhorar suas habilidades em Regex.
Top comments (0)