Hvernig passa reglulegar tjáningar MySQL gagnagrunns saman? MySQL regexp eins og notkun

MySQL gagnagrunnurHvernig passar regluleg tjáning?MySQL regexp eins og notkun

MySQL regluleg tjáning

Í fyrri köflum höfum við lært að MySQL getur verið LIKE...% fyrir óljósa samsvörun.

MySQL styður einnig samsvörun annarra reglulegra tjáninga. REGEXP stjórnandinn er notaður í MySQL fyrir reglubundnar tjáningarsamsvörun.

Ef þú þekkir PHP eða Perl, þá er það frekar einfalt, þar sem samsvörun MySQL er svipuð og í þessum forskriftum.

Reglulegu mynstrin í eftirfarandi töflu er hægt að nota á REGEXP rekstraraðilann.

Hamlýsing
^Passar við upphaf inntaksstrengsins.^ passar einnig við stöðuna á eftir '\n' eða '\r' ef Multiline eiginleiki RegExp hlutarins er stilltur.
$Passar við enda inntaksstrengsins.Ef Multiline eiginleiki RegExp hlutarins er stilltur, passar $ einnig við stöðuna á undan '\n' eða '\r'.
.Passar við hvaða staf sem er nema "\n".Til að passa við hvaða staf sem er, þar á meðal '\n', notaðu mynstur eins og '[.\n]'.
[...]safn af persónum.Passar við hvaða persónu sem er að finna.Til dæmis myndi '[abc]' passa við "plai'a' í n".
[^…]Neikvætt stafasett.Passar við hvaða staf sem er sem ekki er að finna.Til dæmis myndi '[^abc]' passa við 'p' í "plain".
p1|p2|p3Passar við p1 eða p2 eða p3.Til dæmis myndi 'z|matur' passa við annað hvort "z" eða "matur". '(z|f)ood' passar við "zood" eða "food".
*Passar við fyrri undirtjáningu núll eða oftar.Til dæmis myndi zo* passa við „z“ og „dýragarð“. * jafngildir {0,}.
+Passar við fyrri undirtjáningu einu sinni eða oftar.Til dæmis myndi 'zo+' passa við "zo" og "zoo", en ekki "z". + jafngildir {1,}.
{n}n er óneikvæð heiltala.Passar nákvæmlega n sinnum.Til dæmis myndi 'o{2}' ekki passa við 'o' í "Bob", en myndi passa við bæði o í "mat".
{n,m}Bæði m og n eru óneikvæðar heiltölur, þar sem n <= m.Passar að minnsta kosti n sinnum og mest m sinnum.

Dæmi

Eftir að hafa skilið ofangreindar reglulegar kröfur getum við skrifað SQL staðhæfingar með reglulegum segðum í samræmi við okkar eigin kröfur.Hér að neðan munum við telja upp nokkur lítil dæmi (töfluheiti: person_tbl ) til að dýpka skilning okkar:

Finndu öll gögn sem byrja á 'st' í nafnareitnum:

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

Finndu öll gögn sem endar á 'ok' í nafnareitnum:

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

Finndu öll gögn sem innihalda 'mar' strenginn í nafnareitnum:

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

Finndu öll gögn í nafnareitnum sem byrjar á sérhljóðastaf eða endar á strengnum 'ok':

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

Hope Chen Weiliang blogg ( https://www.chenweiliang.com/ ) deildi „Hvernig á að passa við reglulegar tjáningar í MySQL gagnagrunni? MySQL regexp eins og notkun“ mun hjálpa þér.

Velkomið að deila tengli þessarar greinar:https://www.chenweiliang.com/cwl-492.html

Velkomin á Telegram rásina á bloggi Chen Weiliang til að fá nýjustu uppfærslurnar!

🔔 Vertu fyrstur til að fá dýrmæta „ChatGPT Content Marketing AI Notkunarleiðbeiningar“ í efstu möppu rásarinnar! 🌟
📚 Þessi handbók inniheldur mikið gildi, 🌟Þetta er sjaldgæft tækifæri, ekki missa af því! ⏰⌛💨
Deildu og likeðu ef þú vilt!
Deiling þín og líkar við eru stöðug hvatning okkar!

 

发表 评论

Netfangið þitt verður ekki birt. Nauðsynlegir reitir eru notaðir * Merkimiði

flettu efst