Artiklite kataloog
MySQL andmebaasKuidas regulaaravaldis ühtib?MySQL regexpi moodi kasutamine
MySQL regulaaravaldised
Eelmistes peatükkides oleme õppinud, et MySQL võib olla LIKE...% ähmaseks sobitamiseks.
MySQL toetab ka teiste regulaaravaldiste sobitamist.Regulaaravaldiste sobitamiseks kasutatakse MySQL-is operaatorit REGEXP.
Kui teate PHP-d või Perli, on see üsna lihtne, kuna MySQL-i regulaaravaldise sobitamine on sarnane nende skriptide omadega.
Järgmises tabelis olevaid tavalisi mustreid saab rakendada REGEXP-operaatorile.
Režiim | kirjeldus |
---|---|
^ | Vastab sisendstringi algusele.^ vastab ka positsioonile pärast '\n' või '\r', kui RegExp objekti atribuut Multiline on määratud. |
$ | Sobib sisendstringi lõpule.Kui RegExp objekti atribuut Multiline on määratud, vastab $ ka positsioonile enne '\n' või '\r'. |
. | Vastab mis tahes üksikule märgile, välja arvatud "\n".Mis tahes märgi, sealhulgas '\n', sobitamiseks kasutage mustrit nagu '[.\n]'. |
[...] | tegelaste kogu.Vastab mis tahes sisalduvatele tähemärkidele.Näiteks "[abc]" vastaks "plai"a" n-s". |
[^…] | Negatiivne märgistik.Vastab mis tahes märki, mida ei sisalda.Näiteks "[^abc]" vastaks "p"-le "tavalises". |
p1|p2|p3 | Sobib p1 või p2 või p3.Näiteks "z|toit" vastaks kas "z" või "toit". '(z|f)ood' vastab sõnale "zood" või "toit". |
* | Vastab eelnevale alamavaldisele null või enam korda.Näiteks zo* sobiks nii "z" kui ka "zoo". * on samaväärne väärtusega {0,}. |
+ | Vastab eelmisele alamavaldisele üks või mitu korda.Näiteks "zo+" vastaks sõnadele "zo" ja "zoo", kuid mitte "z". + on võrdne väärtusega {1,}. |
{mitte} | n on mittenegatiivne täisarv.Vastab täpselt n korda.Näiteks 'o{2}' ei vastaks 'o'-le "Bobis", kuid vastaks mõlemale o-le sõnastuses "toit". |
{n,m} | Nii m kui ka n on mittenegatiivsed täisarvud, kus n <= m.Vastab vähemalt n korda ja maksimaalselt m korda. |
Esimese astme
Pärast ülaltoodud regulaarnõuete mõistmist saame kirjutada regulaaravaldistega SQL-lauseid vastavalt meie enda nõuetele.Allpool loetleme mõned väikesed näited (tabeli nimi: person_tbl ), et meie arusaamist süvendada:
Otsige nimeväljalt kõik andmed, mis algavad tähega "st":
mysql> SELECT name FROM person_tbl WHERE name REGEXP '^st';
Otsige nimeväljalt üles kõik andmed, mis lõpevad sõnaga "ok".
mysql> SELECT name FROM person_tbl WHERE name REGEXP 'ok$';
Otsige üles kõik andmed, mis sisaldavad nimeväljalt stringi "mar":
mysql> SELECT name FROM person_tbl WHERE name REGEXP 'mar';
Otsige nimeväljalt üles kõik andmed, mis algavad täishäälikuga või lõpevad stringiga "ok":
mysql> SELECT name FROM person_tbl WHERE name REGEXP '^[aeiou]|ok$';
Hope Chen Weiliangi ajaveeb ( https://www.chenweiliang.com/ ) jagatud "Kuidas sobitada MySQL andmebaasi regulaaravaldisi? MySQL regexp like kasutamine" aitab teid.
Tere tulemast selle artikli linki jagama:https://www.chenweiliang.com/cwl-492.html
Tere tulemast Chen Weiliangi ajaveebi Telegrami kanalile, et saada uusimaid värskendusi!
📚 See juhend sisaldab tohutut väärtust, 🌟See on harukordne võimalus, ärge jätke seda kasutamata! ⏰⌛💨
Jaga ja like kui meeldib!
Teie jagamine ja meeldimised on meie pidev motivatsioon!