MariaDB - Expressão Regular
Além da correspondência de padrões disponível nas cláusulas LIKE, MariaDB oferece correspondência baseada em expressões regulares por meio do operador REGEXP. O operador executa a correspondência de padrões para uma expressão de string com base em um determinado padrão.
MariaDB 10.0.5 introduziu PCRE Regular Expressions, que aumenta dramaticamente o escopo de correspondência em áreas como padrões recursivos, asserções antecipadas e muito mais.
Revise o uso da sintaxe do operador REGEXP padrão fornecida abaixo -
SELECT column FROM table_name WHERE column REGEXP '[PATTERN]'; 
    REGEXP retorna 1 para uma correspondência de padrão ou 0 na ausência de uma.
Existe uma opção para o contrário na forma de NOT REGEXP. MariaDB também oferece sinônimos para REGEXP e NOT REGEXP, RLIKE e NOT RLIKE, que foram criados por razões de compatibilidade.
O padrão comparado pode ser uma string literal ou algo mais, como uma coluna de tabela. Em strings, ele usa a sintaxe de escape C, portanto, duplique quaisquer caracteres “\”. REGEXP também não faz distinção entre maiúsculas e minúsculas, com exceção de strings binárias.
Uma tabela de padrões possíveis, que podem ser usados, é fornecida abaixo -
| Sr. Não | Padrão e Descrição | 
|---|---|
| 1 |   ^ Corresponde ao início da string.  |  
      
| 2 |   $ Corresponde ao final da string.  |  
      
| 3 |   . Corresponde a um único caractere.  |  
      
| 4 |   [...] Corresponde a qualquer caractere entre colchetes.  |  
      
| 5 |   [^...] Corresponde a qualquer caractere não listado entre colchetes.  |  
      
| 6 |   p1|p2|p3 Corresponde a qualquer um dos padrões.  |  
      
| 7 |   * Ele corresponde a 0 ou mais instâncias do elemento anterior.  |  
      
| 8 |   + Corresponde a 1 ou mais instâncias do elemento anterior.  |  
      
| 9 |   {n} Corresponde a n instâncias do elemento anterior.  |  
      
| 10 |   {m,n} Corresponde m a n instâncias do elemento anterior.  |  
      
Reveja os exemplos de correspondência de padrões fornecidos abaixo -
Produtos começando com “pr” -
SELECT name FROM product_tbl WHERE name REGEXP '^pr'; 
    Produtos que terminam com “na” -
SELECT name FROM product_tbl WHERE name REGEXP 'na$'; 
    Produtos que começam com uma vogal -
SELECT name FROM product_tbl WHERE name REGEXP '^[aeiou]';