Greinaskrá
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.
Ham | lý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|p3 | Passar 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!
📚 Þ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!