Imenik člankov
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čin | opis |
---|---|
^ | 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|p3 | Ujema 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!
📚 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!