Imenik članaka
MySQL baza podatakaKako se podudara regularni izraz?MySQL upotreba poput regexp-a
MySQL regularni izrazi
U prethodnim poglavljima naučili smo da MySQL može biti KAO...% za nejasno podudaranje.
MySQL također podržava podudaranje drugih regularnih izraza. Operator REGEXP koristi se u MySQL-u za podudaranje regularnih izraza.
Ako poznajete PHP ili Perl, prilično je jednostavno jer je podudaranje regularnih izraza MySQL-a slično onima ovih skripti.
Uobičajeni uzorci u sljedećoj tablici mogu se primijeniti na REGEXP operator.
način | opis |
---|---|
^ | Odgovara početku ulaznog niza.^ također odgovara položaju nakon '\n' ili '\r' ako je postavljeno svojstvo Multiline objekta RegExp. |
$ | Odgovara kraju ulaznog niza.Ako je postavljeno svojstvo Multiline objekta RegExp, $ također odgovara poziciji prije '\n' ili '\r'. |
. | Odgovara bilo kojem pojedinačnom znaku osim "\n".Za podudaranje bilo kojeg znaka uključujući '\n', upotrijebite uzorak poput '[.\n]'. |
[...] | zbirka likova.Odgovara bilo kojem od sadržanih znakova.Na primjer, '[abc]' odgovarao bi "plai'a' u n". |
[^…] | Negativan skup znakova.Odgovara bilo kojem znaku koji nije sadržan.Na primjer, '[^abc]' bi odgovarao 'p' u "plain". |
p1|p2|p3 | Odgovara p1 ili p2 ili p3.Na primjer, 'z|hrana' bi odgovarala ili "z" ili "hrana". '(z|f)ood' odgovara "zood" ili "food". |
* | Poklapa se s prethodnim podizrazom nula ili više puta.Na primjer, zo* bi odgovarao "z" kao i "zoo". * je ekvivalentan {0,}. |
+ | Podudara se s prethodnim podizrazom jednom ili više puta.Na primjer, 'zo+' odgovaralo bi "zo" i "zoo", ali ne i "z". + je ekvivalent {1,}. |
{ne} | n je nenegativan cijeli broj.Poklapa se točno n puta.Na primjer, 'o{2}' ne bi odgovaralo 'o' u "Bob", ali bi odgovaralo oba o u "hrana". |
{n,m} | I m i n su nenegativni cijeli brojevi, gdje je n <= m.Podudara se najmanje n puta i najviše m puta. |
primjer
Nakon razumijevanja gore navedenih redovitih zahtjeva, možemo pisati SQL naredbe s regularnim izrazima prema vlastitim zahtjevima.U nastavku ćemo navesti nekoliko malih primjera (naziv tablice: person_tbl ) kako bismo produbili svoje razumijevanje:
Pronađite sve podatke koji počinju sa 'st' u polju imena:
mysql> SELECT name FROM person_tbl WHERE name REGEXP '^st';
Pronađite sve podatke koji završavaju s 'ok' u polju imena:
mysql> SELECT name FROM person_tbl WHERE name REGEXP 'ok$';
Pronađite sve podatke koji sadrže niz 'mar' u polju imena:
mysql> SELECT name FROM person_tbl WHERE name REGEXP 'mar';
Pronađite sve podatke u polju imena koji počinju samoglasnikom ili završavaju nizom 'ok':
mysql> SELECT name FROM person_tbl WHERE name REGEXP '^[aeiou]|ok$';
Blog Hope Chen Weiliang ( https://www.chenweiliang.com/ ) dijeli "Kako uskladiti regularne izraze u MySQL bazi podataka? MySQL regexp like usage" će vam pomoći.
Dobrodošli da podijelite vezu ovog članka:https://www.chenweiliang.com/cwl-492.html
Dobro došli na Telegram kanal Chen Weiliangovog bloga da dobijete najnovija ažuriranja!
📚 Ovaj vodič ima veliku vrijednost, 🌟 Ovo je rijetka prilika, nemojte je propustiti! ⏰⌛💨
Podijelite i lajkajte ako vam se sviđa!
Vaše dijeljenje i lajkovi naša su stalna motivacija!