In MariaDB die NOT REGEXP
Operator ist eine Negation des REGEXP
Betreiber.
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
Hier ist ein Beispiel für die Verwendung in einem SELECT
Aussage:
SELECT 'Bread' NOT REGEXP '^Br';
Ergebnis:
+--------------------------+ | 'Bread' NOT REGEXP '^Br' | +--------------------------+ | 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');
Ergebnis:
+----------------------------+ | NOT ('Bread' REGEXP '^Br') | +----------------------------+ | 0 | +----------------------------+
Im Vergleich zu REGEXP
In diesem Beispiel vergleichen wir 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 | +--------+------------+
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 | +--------+------------+