Miten MySQL-tietokannan säännölliset lausekkeet täsmäävät? MySQL:n regexp kaltainen käyttö

MySQL-tietokantaMiten säännöllinen lauseke täsmää?MySQL säännöllisen lausekkeen kaltainen käyttö

MySQL:n säännölliset lausekkeet

Aiemmissa luvuissa olemme oppineet, että MySQL voi olla KUTEN...% sumeaa vastaavuutta varten.

MySQL tukee myös muiden säännöllisten lausekkeiden täsmäämistä.MySQL:ssä käytetään REGEXP-operaattoria säännöllisten lausekkeiden täsmäykseen.

Jos osaat PHP:n tai Perlin, se on melko yksinkertaista, koska MySQL:n säännöllisten lausekkeiden vastaavuus on samanlainen kuin näiden skriptien.

Seuraavan taulukon säännöllisiä kuvioita voidaan soveltaa REGEXP-operaattoriin.

tilakuvaus
^Vastaa syöttömerkkijonon alkua.^ vastaa myös sijaintia '\n' tai '\r':n jälkeen, jos RegExp-objektin Multiline-ominaisuus on asetettu.
$Vastaa syöttömerkkijonon loppua.Jos RegExp-objektin Multiline-ominaisuus on asetettu, $ vastaa myös sijaintia ennen '\n' tai '\r'.
.Vastaa mitä tahansa yksittäistä merkkiä paitsi "\n".Käytä kaavaa, kuten '[.\n]', jotta se vastaa mitä tahansa merkkiä, mukaan lukien '\n'.
[...]kokoelma hahmoja.Vastaa mitä tahansa sisällytetyistä merkeistä.Esimerkiksi "[abc]" vastaisi "plai"a" n:ssä".
[^…]Negatiivinen merkistö.Vastaa mitä tahansa merkkiä, jota ei ole mukana.Esimerkiksi '[^abc]' vastaisi p:tä sanalla "plain".
p1|p2|p3Vastaa p1 tai p2 tai p3.Esimerkiksi "z|ruoka" vastaa joko "z" tai "ruoka". '(z|f)ood' vastaa sanaa "eläintarha" tai "ruoka".
*Vastaa edellistä osalauseketta nolla tai useammin.Esimerkiksi zo* vastaisi sanaa "z" sekä "zoo". * vastaa arvoa {0,}.
+Vastaa edellistä osalauseketta yhden tai useamman kerran.Esimerkiksi 'zo+' vastaisi sanaa "zo" ja "zoo", mutta ei "z". + vastaa arvoa {1,}.
{n}n on ei-negatiivinen kokonaisluku.Vastaa täsmälleen n kertaa.Esimerkiksi 'o{2}' ei vastaisi 'o':a sanassa "Bob", mutta vastaisi molempia o:ta sanassa "ruoka".
{n,m}Sekä m että n ovat ei-negatiivisia kokonaislukuja, joissa n <= m.Vastaa vähintään n kertaa ja enintään m kertaa.

Ilmentymä

Ymmärrettyään yllä olevat säännölliset vaatimukset, voimme kirjoittaa SQL-lauseita säännöllisillä lausekkeilla omien vaatimusten mukaisesti.Alla luetellaan muutamia pieniä esimerkkejä (taulukon nimi: person_tbl ) syventääksemme ymmärrystämme:

Etsi kaikki tiedot, jotka alkavat st:llä nimikentästä:

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

Etsi kaikki tiedot, jotka päättyvät "ok" nimikenttään:

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

Etsi kaikki tiedot, jotka sisältävät "mar"-merkkijonon nimikentässä:

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

Etsi kaikki tiedot nimikentästä, joka alkaa vokaalilla tai päättyy merkkijonoon "ok":

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

Hope Chen Weiliang -blogi ( https://www.chenweiliang.com/ ) jakoi "Kuinka täsmäyttää MySQL-tietokannan säännölliset lausekkeet? MySQL regexp like käyttö" auttaa sinua.

Tervetuloa jakamaan tämän artikkelin linkki:https://www.chenweiliang.com/cwl-492.html

Tervetuloa Chen Weiliangin blogin Telegram-kanavalle saadaksesi viimeisimmät päivitykset!

🔔 Saat ensimmäisenä arvokkaan "ChatGPT Content Marketing AI Toolin käyttöoppaan" kanavan ylähakemistoon! 🌟
📚 Tämä opas sisältää valtavasti arvoa, 🌟Tämä on harvinainen tilaisuus, älä missaa sitä! ⏰⌛💨
Jaa ja tykkää jos tykkäät!
Jakamasi ja tykkäyksesi ovat jatkuva motivaatiomme!

 

发表 评论

Sähköpostiosoitettasi ei julkaista. 必填 项 已 用 * 标注

Vieritä ylös