Kako se ujemajo regularni izrazi baze podatkov MySQL? Uporaba kot regexp MySQL

Baza podatkov MySQLKako se regularni izraz ujema?MySQL regexp kot uporaba

Regularni izrazi MySQL

V prejšnjih poglavjih smo se naučili, da je MySQL lahko VŠEČ ... % za mehko ujemanje.

MySQL podpira tudi ujemanje drugih regularnih izrazov Operator REGEXP se v MySQL uporablja za ujemanje regularnih izrazov.

Če poznate PHP ali Perl, je precej preprosto, saj je ujemanje regularnih izrazov MySQL podobno ujemanju teh skriptov.

Navadne vzorce v naslednji tabeli je mogoče uporabiti za operator REGEXP.

Načinopis
^Ujema se z začetkom vnosnega niza.^ se ujema tudi s položajem za '\n' ali '\r', če je nastavljena lastnost Multiline objekta RegExp.
$Ujema se s koncem vnosnega niza.Če je nastavljena lastnost Multiline objekta RegExp, se $ ujema tudi s položajem pred '\n' ali '\r'.
.Ujema se s katerim koli posameznim znakom razen z "\n".Za ujemanje s katerim koli znakom, vključno z '\n', uporabite vzorec, kot je '[.\n]'.
[...]zbirka likov.Ujema se s katerim koli od vsebovanih znakov.Na primer, '[abc]' bi se ujemal z "plai'a' v n".
[^…]Negativni nabor znakov.Ujema se s katerim koli znakom, ki ni vsebovan.Na primer, '[^abc]' bi se ujemal s 'p' v "plain".
p1|p2|p3Ujema se s p1 ali p2 ali p3.Na primer, 'z|hrana' bi se ujemala z "z" ali "hrana". '(z|f)ood' se ujema z "zood" ali "food".
*Nič ali večkrat se ujema s prejšnjim podizrazom.Na primer, zo* bi se ujemal z "z" in tudi z "zoo". * je enakovreden {0,}.
+Enkrat ali večkrat se ujema s prejšnjim podizrazom.Na primer, 'zo+' bi se ujemal z "zo" in "zoo", ne pa tudi z "z". + je enakovreden {1,}.
{ne}n je nenegativno celo število.Ujema se natančno n-krat.Na primer, 'o{2}' se ne bi ujemal z 'o' v "Bob", ampak bi se ujemal z obema o-jema v "food".
{n,m}Tako m kot n sta nenegativni celi števili, kjer je n <= m.Ujema se vsaj n-krat in največ m-krat.

primer

Ko razumemo zgornje redne zahteve, lahko pišemo stavke SQL z regularnimi izrazi v skladu z lastnimi zahtevami.Spodaj bomo navedli nekaj majhnih primerov (ime tabele: person_tbl), da poglobimo svoje razumevanje:

Poiščite vse podatke, ki se začnejo z 'st' v polju imena:

mysql> SELECT name FROM person_tbl WHERE name REGEXP '^st';

Poiščite vse podatke, ki se v polju z imenom končajo z 'ok':

mysql> SELECT name FROM person_tbl WHERE name REGEXP 'ok$';

Poiščite vse podatke, ki vsebujejo niz 'mar' v polju z imenom:

mysql> SELECT name FROM person_tbl WHERE name REGEXP 'mar';

V polju z imenom poiščite vse podatke, ki se začnejo z samoglasnikom ali končajo z nizom 'ok':

mysql> SELECT name FROM person_tbl WHERE name REGEXP '^[aeiou]|ok$';

Blog Hope Chen Weiliang ( https://www.chenweiliang.com/ ) je delil "Kako ujemati regularne izraze v bazi podatkov MySQL? MySQL regexp like usage« vam bo pomagal.

Dobrodošli, da delite povezavo tega članka:https://www.chenweiliang.com/cwl-492.html

Dobrodošli na kanalu Telegram spletnega dnevnika Chena Weilianga, kjer boste prejeli najnovejše posodobitve!

🔔 Bodite prvi, ki boste prejeli dragocen »Vodnik za uporabo orodja AI za vsebinski marketing ChatGPT« v zgornjem imeniku kanala! 🌟
📚 Ta vodnik ima ogromno vrednosti, 🌟To je redka priložnost, ne zamudite je! ⏰⌛💨
Delite in všečkajte, če vam je všeč!
Vaše deljenje in všečki so naša stalna motivacija!

 

发表 评论

Vaš e-poštni naslov ne bo objavljen. 必填 项 已 用 * Oznaka

滚动 到 顶部