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