Hvordan matcher MySQL-databasens regulære udtryk? MySQL regexp som brug

MySQL databaseHvordan matcher det regulære udtryk?MySQL regexp som brug

MySQL regulære udtryk

I de foregående kapitler har vi lært, at MySQL kan bestå SYNES GODT OM...% til fuzzy matching.

MySQL understøtter også matchning af andre regulære udtryk. REGEXP-operatoren bruges i MySQL til matchning af regulære udtryk.

Hvis du kender PHP eller Perl, er det ret ligetil, da MySQL's regulære udtryksmatchning ligner dem i disse scripts.

De almindelige mønstre i følgende tabel kan anvendes på REGEXP-operatøren.

tilstand描述
^Matcher begyndelsen af ​​inputstrengen.^ matcher også positionen efter '\n' eller '\r', hvis Multiline-egenskaben for RegExp-objektet er indstillet.
$Matcher slutningen af ​​inputstrengen.Hvis Multiline-egenskaben for RegExp-objektet er indstillet, matcher $ også positionen før '\n' eller '\r'.
.Matcher ethvert enkelt tegn undtagen "\n".For at matche ethvert tegn inklusive '\n', brug et mønster som '[.\n]'.
[...]samling af karakterer.Matcher et hvilket som helst af de indeholdte tegn.For eksempel ville '[abc]' matche "plai'a' i n".
[^…]Negativt tegnsæt.Matcher ethvert tegn, der ikke er indeholdt.For eksempel ville '[^abc]' matche 'p' i "almindelig".
p1|p2|p3Matcher p1 eller p2 eller p3.For eksempel ville 'z|mad' matche enten "z" eller "mad". '(z|f)ood' matcher "zood" eller "food".
*Matcher det foregående underudtryk nul eller flere gange.For eksempel vil zo* matche "z" såvel som "zoo". * svarer til {0,}.
+Matcher det foregående underudtryk en eller flere gange.For eksempel ville 'zo+' matche "zo" og "zoo", men ikke "z". + svarer til {1,}.
{ikke}n er et ikke-negativt heltal.Matcher nøjagtigt n gange.For eksempel ville 'o{2}' ikke matche 'o' i "Bob", men ville matche begge o'er i "mad".
{n,m}Både m og n er ikke-negative heltal, hvor n <= m.Matcher mindst n gange og højst m gange.

Instans

Efter at have forstået ovenstående regulære krav, kan vi skrive SQL-sætninger med regulære udtryk i henhold til vores egne krav.Nedenfor vil vi liste et par små eksempler (tabelnavn: person_tbl ) for at uddybe vores forståelse:

Find alle data, der starter med 'st' i navnefeltet:

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

Find alle data, der ender med 'ok' i navnefeltet:

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

Find alle data, der indeholder 'mar'-strengen i navnefeltet:

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

Find alle data i navnefeltet, der starter med et vokaltegn eller slutter med strengen 'ok':

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

Hope Chen Weiliang Blog ( https://www.chenweiliang.com/ ) delt "Hvordan matcher jeg MySQL-databasens regulære udtryk? MySQL regexp som brug" vil hjælpe dig.

Velkommen til at dele linket til denne artikel:https://www.chenweiliang.com/cwl-492.html

Velkommen til Telegram-kanalen på Chen Weiliangs blog for at få de seneste opdateringer!

🔔 Vær den første til at få den værdifulde "ChatGPT Content Marketing AI Tool Usage Guide" i kanalens øverste bibliotek! 🌟
📚 Denne guide indeholder enorm værdi, 🌟Dette er en sjælden mulighed, gå ikke glip af det! ⏰⌛💨
Del og like hvis du har lyst!
Din deling og likes er vores kontinuerlige motivation!

 

发表 评论

Din e-mail-adresse vil ikke blive offentliggjort. 必填 项 已 用 * 标注

scroll til toppen