Di MySQL, REGEXP_LIKE() fungsi digunakan untuk menentukan apakah string cocok dengan ekspresi reguler atau tidak.
Fungsi mengembalikan 1 jika string cocok dengan ekspresi reguler yang disediakan, dan 0 jika tidak.
Sintaks
Sintaksnya seperti ini:
REGEXP_LIKE(expr, pat[, match_type])
Dimana expr adalah string input dan pat adalah ekspresi reguler yang Anda uji stringnya.
match_type opsional argumen memungkinkan Anda untuk memperbaiki ekspresi reguler. Misalnya, Anda dapat menggunakan match_type untuk menentukan pencocokan peka huruf besar-kecil atau tidak.
Contoh 1 – Penggunaan Dasar
Berikut ini contoh dasarnya:
SELECT REGEXP_LIKE('Cat', '.*') Result; Hasil:
+--------+ | Result | +--------+ | 1 | +--------+
Dalam hal ini, ekspresi reguler kami menentukan karakter apa pun dalam urutan apa pun, jadi tentu saja kami mendapatkan kecocokan. Fungsi mengembalikan 1 untuk menunjukkan kecocokan.
Contoh 2 – Tidak Cocok
Berikut adalah contoh di mana string input tidak cocok dengan ekspresi reguler:
SELECT REGEXP_LIKE('Cat', 'b+') Result; Hasil:
+--------+ | Result | +--------+ | 0 | +--------+
Dalam hal ini, ekspresi reguler kami menetapkan bahwa harus ada satu atau lebih b karakter dalam urutan apa pun. String input kami tidak berisi karakter ini dan karenanya 0 dikembalikan.
Contoh 3 – Mencocokkan Awal Sebuah String
Berikut adalah contoh di mana ekspresi reguler menentukan bahwa string harus dimulai dengan karakter tertentu:
SELECT REGEXP_LIKE('Cat', '^Ca') Result; Hasil:
+--------+ | Result | +--------+ | 1 | +--------+
Dan inilah yang terjadi jika tidak ada yang cocok:
SELECT REGEXP_LIKE('Cat', '^Da') Result; Hasil:
+--------+ | Result | +--------+ | 0 | +--------+
Contoh 4 – Kueri Basis Data
Fungsi ini dapat digunakan di WHERE klausa kueri basis data untuk mengembalikan hanya baris yang berisi pola:
SELECT AlbumId, AlbumName FROM Albums WHERE REGEXP_LIKE(AlbumName, '^Power');
Hasil:
+---------+------------+ | AlbumId | AlbumName | +---------+------------+ | 1 | Powerslave | | 2 | Powerage | +---------+------------+
Berikut tabel lengkapnya:
SELECT AlbumId, AlbumName FROM Albums;
Hasil:
+---------+--------------------------+ | AlbumId | AlbumName | +---------+--------------------------+ | 1 | Powerslave | | 2 | Powerage | | 3 | Singing Down the Lane | | 4 | Ziltoid the Omniscient | | 5 | Casualties of Cool | | 6 | Epicloud | | 7 | Somewhere in Time | | 8 | Piece of Mind | | 9 | Killers | | 10 | No Prayer for the Dying | | 11 | No Sound Without Silence | | 12 | Big Swing Face | | 13 | Blue Night | | 14 | Eternity | | 15 | Scandinavia | | 16 | Long Lost Suitcase | | 17 | Praise and Blame | | 18 | Along Came Jones | | 19 | All Night Wrong | | 20 | The Sixteen Men of Tain | +---------+--------------------------+
Contoh 5 – match_type Argumen
Anda dapat memberikan argumen tambahan untuk menentukan jenis pencocokan. Ini memungkinkan Anda untuk menentukan hal-hal seperti apakah kecocokan peka huruf besar-kecil atau tidak, apakah akan menyertakan terminator baris atau tidak, dll.
Berikut adalah contoh menentukan kecocokan peka huruf besar-kecil dan kecocokan peka huruf besar/kecil:
SELECT
REGEXP_LIKE('Cat', '^ca', 'c') 'Case-Sensitive',
REGEXP_LIKE('Cat', '^ca', 'i') 'Case-Insensitive'; Hasil:
+----------------+------------------+ | Case-Sensitive | Case-Insensitive | +----------------+------------------+ | 0 | 1 | +----------------+------------------+
match_type argumen dapat berisi karakter berikut:
c- Pencocokan peka huruf besar/kecil.
i- Pencocokan peka huruf besar/kecil.
m- Mode banyak baris. Kenali terminator garis di dalam string. Perilaku default adalah mencocokkan terminator baris hanya di awal dan akhir ekspresi string.
n.karakter cocok dengan terminator garis. Standarnya adalah untuk.cocok untuk berhenti di akhir baris.u- Akhir baris khusus Unix. Hanya karakter baris baru yang dikenali sebagai baris yang diakhiri dengan
.,^, dan$operator pertandingan.
Contoh Lainnya
Anda dapat melihat lebih banyak contoh ekspresi reguler dasar di Contoh REGEXP MySQL. REGEXP adalah sinonim untuk REGEXP_LIKE() , sehingga Anda dapat menggunakan contoh secara bergantian.
Lihat juga Sintaks Ekspresi Reguler dari dokumentasi MySQL.