No MariaDB, o
NOT REGEXP operador é uma negação do REGEXP operador. Se a string corresponder à expressão regular fornecida, o resultado será
0 , caso contrário é 1 . Este é o resultado oposto ao que o REGEXP retornaria (quando não é prefixado com NOT ). Sintaxe
A sintaxe fica assim:
expr NOT REGEXP pat Onde
expr é a string de entrada e pat é a expressão regular para a qual você está testando a string. É o equivalente a fazer o seguinte:
NOT (expr REGEXP pat) Exemplo
Aqui está um exemplo de como usar isso em um
SELECT demonstração:SELECT 'Bread' NOT REGEXP '^Br'; Resultado:
+--------------------------+ | 'Bread' NOT REGEXP '^Br' | +--------------------------+ | 0 | +--------------------------+
Aqui, o padrão é correspondido se a string de entrada começar com
Br . Sim, mas porque usamos NOT REGEXP , obtemos um resultado negativo (0 ). A declaração acima é o equivalente a fazer isso:
SELECT NOT ('Bread' REGEXP '^Br'); Resultado:
+----------------------------+
| NOT ('Bread' REGEXP '^Br') |
+----------------------------+
| 0 |
+----------------------------+ Comparado com REGEXP
Neste exemplo, comparamos os resultados de
REGEXP e NOT REGEXP :SELECT
'Bread' REGEXP '^Br' AS "REGEXP",
'Bread' NOT REGEXP '^Br' AS "NOT REGEXP"; Resultado:
+--------+------------+ | REGEXP | NOT REGEXP | +--------+------------+ | 1 | 0 | +--------+------------+
Um resultado positivo
Os exemplos anteriores resultaram em
0 para NOT REGEXP , porque a string fez realmente correspondem ao padrão. Aqui está um exemplo em que obtemos um 1 , que indica que a string não partida:SELECT
'Sofa' REGEXP '^Br' AS "REGEXP",
'Sofa' NOT REGEXP '^Br' AS "NOT REGEXP"; Resultado:
+--------+------------+ | REGEXP | NOT REGEXP | +--------+------------+ | 0 | 1 | +--------+------------+