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