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 | +--------+------------+