Direktori Artikel
Bagaimana cara melakukan pencocokan ekspresi reguler di database MySQL ? Bagaimana cara menggunakan regexp MySQL ?
Ekspresi reguler MySQL
Pada bab-bab sebelumnya, kita telah mempelajari bahwa MySQL dapat menggunakan LIKE …% untuk pencocokan samar (fuzzy matching).
MySQL juga mendukung pencocokan ekspresi reguler lainnya Operator REGEXP digunakan di MySQL untuk pencocokan ekspresi reguler.
Jika Anda tahu PHP atau Perl, itu cukup mudah, karena pencocokan ekspresi reguler MySQL mirip dengan skrip ini.
Pola reguler pada tabel berikut dapat diterapkan ke operator REGEXP.
| Mode | 描述 |
|---|---|
| ^ | Cocok dengan awal string input.^ juga cocok dengan posisi setelah '\n' atau '\r' jika properti Multiline dari objek RegExp diatur. |
| $ | Cocok dengan akhir string input.Jika properti Multiline dari objek RegExp disetel, $ juga cocok dengan posisi sebelum '\n' atau '\r'. |
| . | Cocok dengan karakter tunggal apa pun kecuali "\n".Untuk mencocokkan karakter apa pun termasuk '\n', gunakan pola seperti '[.\n]'. |
| [...] | koleksi karakter.Cocok dengan salah satu karakter yang ada.Misalnya, '[abc]' akan cocok dengan "plai'a' dalam n". |
| [^…] | Set karakter negatif.Cocok dengan karakter apa pun yang tidak terkandung.Misalnya, '[^abc]' akan cocok dengan 'p' di "polos". |
| p1|p2|p3 | Cocok dengan p1 atau p2 atau p3.Misalnya, 'z|food' akan cocok dengan "z" atau "food". '(z|f)ood' cocok dengan "kebun binatang" atau "makanan". |
| * | Cocok dengan subekspresi sebelumnya nol kali atau lebih.Misalnya, zo* akan cocok dengan "z" dan juga "zoo". * setara dengan {0,}. |
| + | Mencocokkan subekspresi sebelumnya satu atau beberapa kali.Misalnya, 'zo+' akan cocok dengan "zo" dan "zoo", tetapi bukan "z". + setara dengan {1,}. |
| {bukan} | n adalah bilangan bulat non-negatif.Pertandingan ditentukan n kali.Misalnya, 'o{2}' tidak akan cocok dengan 'o' di "Bob", tetapi akan cocok dengan kedua o di "makanan". |
| {n,m} | Baik m dan n adalah bilangan bulat non-negatif, di mana n <= m.Cocok setidaknya n kali dan paling banyak m kali. |
Contoh
Setelah memahami persyaratan reguler di atas, kita dapat menulis pernyataan SQL dengan ekspresi reguler sesuai dengan persyaratan kita sendiri.Di bawah ini kami akan mencantumkan beberapa contoh kecil (nama tabel: person_tbl ) untuk memperdalam pemahaman kami:
Temukan semua data yang dimulai dengan 'st' di bidang nama:
mysql> SELECT name FROM person_tbl WHERE name REGEXP '^st';
Temukan semua data yang diakhiri dengan 'ok' di bidang nama:
mysql> SELECT name FROM person_tbl WHERE name REGEXP 'ok$';
Temukan semua data yang berisi string 'mar' di bidang nama:
mysql> SELECT name FROM person_tbl WHERE name REGEXP 'mar';
Temukan semua data di bidang nama yang dimulai dengan karakter vokal atau diakhiri dengan string 'ok':
mysql> SELECT name FROM person_tbl WHERE name REGEXP '^[aeiou]|ok$';
Semoga artikel "Cara Mencocokkan Menggunakan Ekspresi Reguler di Database MySQL? Penggunaan MySQL regexp like" yang dibagikan di blog Chen Weiliang ( https://www.chenweiliang.com/ ) bermanfaat bagi Anda.
Silakan bagikan tautan artikel ini: https://www.chenweiliang.com/cwl-492.html
