Bóson Treinamentos em Ciência e Tecnologia

MySQL – REGEXP – Expressões Regulares em consultas

Expressões regulares em mysql com REGEXP

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]';

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]';

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

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

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';

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

Sair da versão mobile