Dans MySQL, NOT REGEXP
est une négation de la REGEXP
opérateur.
En d'autres termes, si la chaîne correspond à l'expression régulière fournie, le résultat est 0
, sinon c'est 1
. C'est le résultat opposé à ce que le REGEXP
renverrait (lorsqu'il n'est pas préfixé par NOT
).
Syntaxe
La syntaxe ressemble à ceci :
expr NOT REGEXP pat
Où expr
est la chaîne d'entrée et pat
est l'expression régulière pour laquelle vous testez la chaîne.
C'est l'équivalent de faire ce qui suit :
NOT (expr REGEXP pat)
Exemple 1 - Utilisation de base
Voici un exemple d'utilisation dans un SELECT
déclaration :
SELECT 'Bread' NOT REGEXP '^Br' AS 'Result';
Résultat :
+--------+ | Result | +--------+ | 0 | +--------+
Ici, le modèle est mis en correspondance si la chaîne d'entrée commence par Br
. C'est le cas, mais parce que nous utilisons NOT REGEXP
, on obtient un résultat négatif (0
).
La déclaration ci-dessus est l'équivalent de ceci :
SELECT NOT ('Bread' REGEXP '^Br') AS 'Result';
Résultat :
+--------+ | Result | +--------+ | 0 | +--------+
Exemple 2 - Comparé à REGEXP
Pour que ce soit clair, nous comparons ici les résultats de REGEXP
et NOT REGEXP
:
SELECT 'Bread' REGEXP '^Br' AS 'REGEXP', 'Bread' NOT REGEXP '^Br' AS 'NOT REGEXP';
Résultat :
+--------+------------+ | REGEXP | NOT REGEXP | +--------+------------+ | 1 | 0 | +--------+------------+
Exemple 3 - Un résultat positif
Les exemples précédents ont donné 0
pour NOT REGEXP
, car la chaîne a fait correspondent réellement au modèle. Voici un exemple où nous obtenons un 1
, ce qui indique que la chaîne ne le fait pas correspondance :
SELECT 'Sofa' REGEXP '^Br' AS 'REGEXP', 'Sofa' NOT REGEXP '^Br' AS 'NOT REGEXP';
Résultat :
+--------+------------+ | REGEXP | NOT REGEXP | +--------+------------+ | 0 | 1 | +--------+------------+