Di MariaDB, NOT REGEXP
operator adalah negasi dari REGEXP
operator.
Jika string cocok dengan ekspresi reguler yang diberikan, hasilnya adalah 0
, jika tidak maka 1
. Ini adalah hasil yang berlawanan dengan apa yang REGEXP
akan kembali (bila tidak diawali dengan NOT
).
Sintaks
Sintaksnya seperti ini:
expr NOT REGEXP pat
Dimana expr
adalah string input dan pat
adalah ekspresi reguler yang digunakan untuk menguji string.
Ini setara dengan melakukan hal berikut:
NOT (expr REGEXP pat)
Contoh
Berikut adalah contoh cara menggunakan ini dalam SELECT
pernyataan:
SELECT 'Bread' NOT REGEXP '^Br';
Hasil:
+--------------------------+ | 'Bread' NOT REGEXP '^Br' | +--------------------------+ | 0 | +--------------------------+
Di sini, polanya cocok jika string input dimulai dengan Br
. Ya, tetapi karena kami menggunakan NOT REGEXP
, kami mendapatkan hasil negatif (0
).
Pernyataan di atas setara dengan melakukan ini:
SELECT NOT ('Bread' REGEXP '^Br');
Hasil:
+----------------------------+ | NOT ('Bread' REGEXP '^Br') | +----------------------------+ | 0 | +----------------------------+
Dibandingkan dengan REGEXP
Dalam contoh ini kami membandingkan hasil dari REGEXP
dan NOT REGEXP
:
SELECT
'Bread' REGEXP '^Br' AS "REGEXP",
'Bread' NOT REGEXP '^Br' AS "NOT REGEXP";
Hasil:
+--------+------------+ | REGEXP | NOT REGEXP | +--------+------------+ | 1 | 0 | +--------+------------+
Hasil Positif
Contoh sebelumnya menghasilkan 0
untuk NOT REGEXP
, karena string dilakukan benar-benar cocok dengan polanya. Berikut ini contoh di mana kita mendapatkan 1
, yang menunjukkan bahwa string tidak cocok:
SELECT
'Sofa' REGEXP '^Br' AS "REGEXP",
'Sofa' NOT REGEXP '^Br' AS "NOT REGEXP";
Hasil:
+--------+------------+ | REGEXP | NOT REGEXP | +--------+------------+ | 0 | 1 | +--------+------------+