In MySQL NOT REGEXP ist eine Negation des REGEXP Betreiber.
Mit anderen Worten, wenn die Zeichenfolge mit dem bereitgestellten regulären Ausdruck übereinstimmt, ist das Ergebnis 0 , andernfalls ist es 1 . Dies ist das gegenteilige Ergebnis zu dem, was REGEXP zurückgeben würde (wenn ihm nicht NOT vorangestellt ist ).
Syntax
Die Syntax lautet wie folgt:
expr NOT REGEXP pat
Wobei expr ist die Eingabezeichenfolge und pat ist der reguläre Ausdruck, für den Sie die Zeichenfolge testen.
Dies entspricht dem folgenden Vorgang:
NOT (expr REGEXP pat)
Beispiel 1 – Grundlegende Verwendung
Hier ist ein Beispiel für die Verwendung in einem SELECT Aussage:
SELECT 'Bread' NOT REGEXP '^Br' AS 'Result';
Ergebnis:
+--------+ | Result | +--------+ | 0 | +--------+
Hier wird das Muster abgeglichen, wenn der Eingabestring mit Br beginnt . Das tut es, aber weil wir NOT REGEXP verwenden erhalten wir ein negatives Ergebnis (0 ).
Die obige Anweisung ist das Äquivalent dazu:
SELECT NOT ('Bread' REGEXP '^Br') AS 'Result'; Ergebnis:
+--------+ | Result | +--------+ | 0 | +--------+
Beispiel 2 – Vergleich mit REGEXP
Zur Verdeutlichung vergleichen wir hier die Ergebnisse von REGEXP und NOT REGEXP :
SELECT 'Bread' REGEXP '^Br' AS 'REGEXP', 'Bread' NOT REGEXP '^Br' AS 'NOT REGEXP';
Ergebnis:
+--------+------------+ | REGEXP | NOT REGEXP | +--------+------------+ | 1 | 0 | +--------+------------+
Beispiel 3 – Ein positives Ergebnis
Die vorherigen Beispiele führten zu 0 für NOT REGEXP , weil der String tat stimmt eigentlich mit dem Muster überein. Hier ist ein Beispiel, wo wir eine 1 erhalten , was anzeigt, dass die Zeichenfolge nicht Übereinstimmung:
SELECT 'Sofa' REGEXP '^Br' AS 'REGEXP', 'Sofa' NOT REGEXP '^Br' AS 'NOT REGEXP';
Ergebnis:
+--------+------------+ | REGEXP | NOT REGEXP | +--------+------------+ | 0 | 1 | +--------+------------+