MySQL – REGEXP – Expressões Regulares em consultas

Usando Expressões Regulares (REGEXP) no MySQL

Na aula anterior vimos como realizar filtros específicos em uma consulta acrescentando a cláusula LIKE. O MySQL suporta também um tipo de operação de busca de padrões baseada em expressões regulares com o operador REGEXP.

Alguns exemplos de caracteres para expressões regulares estão listados abaixo:

 

Padrão Significado
[…] Qualquer caracter único no intervalo ou conjunto especificado ([a-h]; [aeiou])
[^…]   Qualquer caracter único  que não esteja no intervalo ou conjunto especificado ([^a-h]; [^aeiou])
^ Início da string (fora dos colchetes); Negação (dentro dos colchetes)
$ Fim da string
a|b|c Alternação (a ou b ou c) (caractere pipe – |)
* Zero ou mais ocorrências do elemento precedente
+ Uma ou mais ocorrências do elemento precedente
{n} N instâncias do elemento precedente
{m,n} De M até N instâncias do elemento precedente

 

Exemplos de consultas usando Expressões Regulares no MySQL:

1. Retornar os nomes dos livros da tabels tbl_livro, onde o nome do livro se inicie com uma das letras F ou S

SELECT Nome_Livro
FROM tbl_Livro
WHERE Nome_Livro REGEXP '^[FS]';

REGEXP - Expressões Regulares em SQL no MySQL

2. Trazer os livros cujos nomes não se iniciam nem com o caractere F, nem com o caractere S

SELECT Nome_Livro
FROM tbl_Livro
WHERE Nome_Livro REGEXP '^[^FS]';

REGEXP - Expressões Regulares em SQL no MySQL

3. Retornar nomes de livros que finalizem com as letras n ou g:

SELECT Nome_Livro
FROM tbl_Livro
WHERE Nome_Livro REGEXP '[ng]$';

REGEXP - Expressões Regulares em SQL no MySQL

4. Consultar os livros cujos nomes comecem com as letras F ou S, ou ainda com a sequência de caracteres Mi

SELECT Nome_Livro
FROM tbl_Livro
WHERE Nome_Livro REGEXP '^[FS]|Mi';

REGEXP - Expressões Regulares em SQL no MySQL

E no vídeo a seguir, o uso de Expressões Regulares com o comando REGEXP no MySQL:

Sobre Fábio dos Reis (1325 Artigos)
Fábio dos Reis trabalha com tecnologias variadas há mais de 25 anos, tendo atuado nos campos de Eletrônica, Telecomunicações, Programação de Computadores e Redes de Dados. É um entusiasta de Unix, Linux e Open Source em geral, adora Eletrônica e Música, e estuda idiomas, além de ministrar cursos e palestras sobre diversas tecnologias em São Paulo e outras cidades do Brasil.
Contato: Website

Escreva um comentário

Seu e-mail não será divulgado


*