Direktori Artikel
Bagaimana untuk melakukan pemadanan ungkapan biasa dalam pangkalan data MySQL ? Bagaimana untuk menggunakan regexp MySQL seperti?
ungkapan biasa MySQL
Dalam bab-bab sebelumnya, kita telah mempelajari bahawa MySQL boleh menggunakan LIKE …% untuk pemadanan kabur.
MySQL juga menyokong pemadanan ungkapan biasa yang lain. Operator REGEXP digunakan dalam MySQL untuk pemadanan ungkapan biasa.
Jika anda tahu PHP atau Perl, ia agak mudah, kerana pemadanan ungkapan biasa MySQL adalah serupa dengan skrip ini.
Corak biasa dalam jadual berikut boleh digunakan pada operator REGEXP.
| Mod | Uraian |
|---|---|
| ^ | Padan dengan permulaan rentetan input.^ juga sepadan dengan kedudukan selepas '\n' atau '\r' jika sifat Multiline objek RegExp ditetapkan. |
| $ | Padan dengan hujung rentetan input.Jika sifat Multiline objek RegExp ditetapkan, $ juga sepadan dengan kedudukan sebelum '\n' atau '\r'. |
| . | Padan dengan mana-mana aksara kecuali "\n".Untuk memadankan mana-mana aksara termasuk '\n', gunakan corak seperti '[.\n]'. |
| [...] | koleksi watak.Memadankan mana-mana satu aksara yang terkandung.Sebagai contoh, '[abc]' akan sepadan dengan "plai'a' dalam n". |
| [^…] | Set watak negatif.Padan dengan mana-mana aksara yang tidak terkandung.Sebagai contoh, '[^abc]' akan sepadan dengan 'p' dalam "plain". |
| p1|p2|p3 | Padan dengan p1 atau p2 atau p3.Sebagai contoh, 'z|makanan' akan sepadan sama ada "z" atau "makanan". '(z|f)ood' sepadan dengan "zood" atau "makanan". |
| * | Padan dengan subungkapan sebelumnya sifar atau lebih kali.Sebagai contoh, zo* akan sepadan dengan "z" serta "zoo". * bersamaan dengan {0,}. |
| + | Memadankan subungkapan sebelumnya satu kali atau lebih.Contohnya, 'zo+' akan sepadan dengan "zo" dan "zoo", tetapi bukan "z". + adalah bersamaan dengan {1,}. |
| {n} | n ialah integer bukan negatif.Padan tepat n kali.Contohnya, 'o{2}' tidak akan sepadan dengan 'o' dalam "Bob", tetapi akan memadankan kedua-dua o dalam "makanan". |
| {n,m} | Kedua-dua m dan n adalah integer bukan negatif, dengan n <= m.Padankan sekurang-kurangnya n kali dan paling banyak m kali. |
contoh
Selepas memahami keperluan biasa di atas, kita boleh menulis pernyataan SQL dengan ungkapan biasa mengikut keperluan kita sendiri.Di bawah ini kami akan menyenaraikan beberapa contoh kecil (nama jadual: person_tbl ) untuk memperdalam pemahaman kami:
Cari semua data bermula dengan 'st' dalam medan nama:
mysql> SELECT name FROM person_tbl WHERE name REGEXP '^st';
Cari semua data yang berakhir dengan 'ok' dalam medan nama:
mysql> SELECT name FROM person_tbl WHERE name REGEXP 'ok$';
Cari semua data yang mengandungi rentetan 'mar' dalam medan nama:
mysql> SELECT name FROM person_tbl WHERE name REGEXP 'mar';
Cari semua data dalam medan nama yang bermula dengan aksara vokal atau berakhir dengan rentetan 'ok':
mysql> SELECT name FROM person_tbl WHERE name REGEXP '^[aeiou]|ok$';
Semoga artikel "Bagaimana Memadankan Menggunakan Ungkapan Biasa dalam Pangkalan Data MySQL? Penggunaan regexp MySQL seperti" yang dikongsi di blog Chen Weiliang ( https://www.chenweiliang.com/ ) akan membantu anda.
Jangan ragu untuk berkongsi pautan artikel ini: https://www.chenweiliang.com/cwl-492.html
