Di MySQL, NOT REGEXP
adalah negasi dari REGEXP
operator.
Dengan kata lain, 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 Anda uji stringnya.
Ini setara dengan melakukan hal berikut:
NOT (expr REGEXP pat)
Contoh 1 – Penggunaan Dasar
Berikut adalah contoh cara menggunakan ini dalam SELECT
pernyataan:
SELECT 'Bread' NOT REGEXP '^Br' AS 'Result';
Hasil:
+--------+ | Result | +--------+ | 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') AS 'Result';
Hasil:
+--------+ | Result | +--------+ | 0 | +--------+
Contoh 2 – Dibandingkan dengan REGEXP
Agar lebih jelas, berikut ini kami bandingkan 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 | +--------+------------+
Contoh 3 – 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 | +--------+------------+