Kaip sutampa „MySQL“ duomenų bazės reguliarios išraiškos? MySQL regexp kaip naudojimas

MySQL duomenų bazėKaip sutampa reguliarioji išraiška?MySQL RegEx kaip naudojimas

MySQL reguliarios išraiškos

Ankstesniuose skyriuose sužinojome, kad MySQL gali būti KAIP...% neaiškiam atitikimui.

„MySQL“ taip pat palaiko kitų reguliariųjų išraiškų atitikimą, REGEXP operatorius naudojamas MySQL reguliariųjų reiškinių atitikimui.

Jei žinote PHP arba Perl, tai gana paprasta, nes MySQL reguliariųjų reiškinių atitikimas yra panašus į šių scenarijų.

Įprasti šablonai šioje lentelėje gali būti taikomi REGEXP operatoriui.

Režimasapibūdinimas
^Atitinka įvesties eilutės pradžią.^ taip pat atitinka poziciją po '\n' arba '\r', jei nustatyta RegExp objekto ypatybė Multiline.
$Atitinka įvesties eilutės pabaigą.Jei nustatyta RegExp objekto ypatybė Multiline, $ taip pat atitinka poziciją prieš '\n' arba '\r'.
.Atitinka bet kurį vieną simbolį, išskyrus „\n“.Kad atitiktumėte bet kurį simbolį, įskaitant „\n“, naudokite šabloną, pvz., „[.\n]“.
[...]personažų kolekcija.Atitinka bet kurį iš pateiktų simbolių.Pavyzdžiui, „[abc]“ atitiktų „plai„a“ n.
[^…]Neigiamas simbolių rinkinys.Atitinka bet kurį simbolį, kurio nėra.Pavyzdžiui, „[^abc]“ atitiktų „p“ lauke „paprastas“.
p1|p2|p3Atitinka p1 arba p2 arba p3.Pavyzdžiui, „z|maistas“ atitiktų „z“ arba „maistas“. „(z|f)ood“ atitinka „zood“ arba „maistas“.
*Nulį ar daugiau kartų atitinka ankstesnę posakį.Pavyzdžiui, zo* atitiktų „z“ ir „zoo“. * atitinka {0,}.
+Atitinka ankstesnę posakį vieną ar daugiau kartų.Pavyzdžiui, „zo+“ atitiktų „zo“ ir „zoologijos sodą“, bet ne „z“. + atitinka {1,}.
{ne}n yra neneigiamas sveikasis skaičius.Sutampa lygiai n kartų.Pavyzdžiui, „o{2}“ neatitiktų „o“ „Bob“, bet atitiktų abu „maistas“ esančius o.
{n,m}Ir m, ir n yra neneigiami sveikieji skaičiai, kur n <= m.Atitinka mažiausiai n kartų ir daugiausia m kartų.

pavyzdys

Supratę aukščiau pateiktus reguliarius reikalavimus, galime rašyti SQL sakinius su reguliariosiomis išraiškomis pagal savo reikalavimus.Žemiau pateiksime keletą nedidelių pavyzdžių (lentelės pavadinimas: person_tbl ), kad galėtume geriau suprasti:

Raskite visus duomenis, prasidedančius vardo lauke „st“:

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

Raskite visus duomenis, kurie vardo lauke baigiasi „ok“:

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

Raskite visus duomenis, kurių pavadinimo lauke yra eilutė „mar“:

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

Raskite visus duomenis vardo lauke, kuris prasideda balsiu arba baigiasi eilute „ok“:

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

Hope Chen Weiliang tinklaraštis ( https://www.chenweiliang.com/ ) pasidalino „Kaip suderinti MySQL duomenų bazės reguliariąsias išraiškas? MySQL regexp like usage“ jums padės.

Kviečiame pasidalinti šio straipsnio nuoroda:https://www.chenweiliang.com/cwl-492.html

Sveiki atvykę į Chen Weiliang tinklaraščio Telegram kanalą, kad gautumėte naujausius atnaujinimus!

🔔 Būkite pirmas, kuris kanalo viršaus kataloge gaus vertingą „ChatGPT turinio rinkodaros AI įrankio naudojimo vadovą“! 🌟
📚 Šis vadovas turi didžiulę vertę, 🌟Tai reta galimybė, nepraleiskite jos! ⏰⌛💨
Dalinkitės ir like jei patiko!
Jūsų dalijimasis ir paspaudimai „Patinka“ yra mūsų nuolatinė motyvacija!

 

发表 评论

Jūsų el. Pašto adresas nebus paskelbtas. Naudojami privalomi laukai * Etiketė

slinkite į viršų