Kuidas MySQL-i andmebaasi regulaaravaldised sobivad? MySQL regexpi sarnane kasutamine

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žiimkirjeldus
^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|p3Sobib 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!

🔔 Olge esimene, kes saab kanali ülemises kataloogis väärtusliku "ChatGPT sisuturunduse AI tööriista kasutamise juhendi"! 🌟
📚 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!

 

发表 评论

Teie e-posti aadressi ei avaldata. Kasutatakse kohustuslikke välju * Silt

kerige üles