Cikkkönyvtár
MySQL adatbázisHogyan egyezik a reguláris kifejezés?MySQL regexp-szerű használat
MySQL reguláris kifejezések
Az előző fejezetekben megtanultuk, hogy a MySQL átadható TETSZIK...% fuzzy illesztéshez.
A MySQL más reguláris kifejezések egyeztetését is támogatja, a REGEXP operátort a MySQL-ben használják a reguláris kifejezések egyeztetésére.
Ha ismeri a PHP-t vagy a Perl-t, akkor ez nagyon egyszerű, mivel a MySQL reguláris kifejezés-illesztése hasonló ezeknek a szkripteknek.
A következő táblázat szabályos mintái alkalmazhatók a REGEXP operátorra.
mód | leírás |
---|---|
^ | Megfelel a bemeneti karakterlánc elejének.^ a '\n' vagy '\r' utáni pozícióval is megegyezik, ha a RegExp objektum többsoros tulajdonsága be van állítva. |
$ | Megfelel a bemeneti karakterlánc végének.Ha a RegExp objektum többsoros tulajdonsága be van állítva, a $ a '\n' vagy '\r' előtti pozícióval is megegyezik. |
. | Bármely karakterrel egyezik, kivéve a „\n” karaktert.A '\n' karaktert is beleértve, használjon olyan mintát, mint a '[.\n]'. |
[...] | karakterek gyűjteménye.Megfelel a benne szereplő karakterek bármelyikének.Például az „[abc]” egyezne a „plai„a” az n-ben”. |
[^…] | Negatív karakterkészlet.A nem szereplő karakterekkel megegyezik.Például a '[^abc]' megfelel a 'p'-nek a "plain"-ben. |
p1|p2|p3 | Megfelel a p1-nek vagy a p2-nek vagy a p3-nak.Például a 'z|étel' egyezne a "z" vagy az "étel" kifejezéssel. A '(z|f)ood' megfelel a "zood" vagy a "food" kifejezésnek. |
* | Az előző részkifejezéshez nulla vagy többször egyezik.Például a zo* megegyezik a "z"-vel és a "zoo"-val. * egyenértékű a következővel: {0,}. |
+ | Egy vagy többször megegyezik az előző részkifejezéssel.Például a „zo+” egyezne a „zo”-val és „zoo”-val, de nem a „z”-vel. + egyenértékű a következővel: {1,}. |
{nem} | n egy nem negatív egész szám.Pontosan n-szer egyezik.Például az „o{2}” nem egyezik a „Bob” „o”-jával, de az „étel”-ben mindkét o-val megegyezik. |
{n, m} | Az m és az n is nemnegatív egész szám, ahol n <= m.Legalább n-szer és legfeljebb m-szer egyezik. |
Példa
A fenti reguláris követelmények megértése után saját követelményeink szerint írhatunk SQL utasításokat reguláris kifejezésekkel.Az alábbiakban felsorolunk néhány apró példát (tábla neve: person_tbl ), hogy jobban megértsük:
Keresse meg a névmezőben az „st” betűvel kezdődő összes adatot:
mysql> SELECT name FROM person_tbl WHERE name REGEXP '^st';
Keresse meg az összes olyan adatot, amely „ok”-ra végződik a névmezőben:
mysql> SELECT name FROM person_tbl WHERE name REGEXP 'ok$';
Keresse meg a „mar” karakterláncot tartalmazó összes adatot a névmezőben:
mysql> SELECT name FROM person_tbl WHERE name REGEXP 'mar';
Keresse meg az összes adatot a névmezőben, amely magánhangzó karakterrel kezdődik vagy az „ok” karakterlánccal végződik:
mysql> SELECT name FROM person_tbl WHERE name REGEXP '^[aeiou]|ok$';
Hope Chen Weiliang Blog ( https://www.chenweiliang.com/ ) megosztott "Hogyan illeszthető a MySQL adatbázis reguláris kifejezései? A MySQL regexp like használata" segít.
Üdvözöljük a cikk linkjének megosztásában:https://www.chenweiliang.com/cwl-492.html
Üdvözöljük Chen Weiliang blogjának Telegram csatornáján, hogy értesüljön a legfrissebb hírekről!
📚 Ez az útmutató hatalmas értéket tartalmaz, 🌟 Ritka lehetőség ez, ne hagyd ki! ⏰⌛💨
Oszd meg és lájkold, ha tetszik!
Az Ön megosztása és lájkja folyamatos motivációnk!