Artikel Verzeechnes
MySQL DatebankWéi passt de reguläre Ausdrock?MySQL regexp wéi Benotzung
MySQL regelméisseg Ausdréck
An de fréiere Kapitele hu mir geléiert datt MySQL ka sinn LIKE...% fir fuzzy passende.
MySQL ënnerstëtzt och de Matching vun anere reguläre Ausdrock.De REGEXP Bedreiwer gëtt a MySQL fir regelméisseg Ausdrock Matching benotzt.
Wann Dir PHP oder Perl kennt, ass et zimmlech einfach, well MySQL's reguläre Ausdrock passend ass ähnlech wéi déi vun dëse Scripten.
Déi reegelméisseg Musteren an der folgender Tabell kënnen op den REGEXP Bedreiwer applizéiert ginn.
| Modus | Beschreiwung |
|---|---|
| ^ | Entsprécht den Ufank vun der Input String.^ entsprécht och d'Positioun no '\n' oder '\r' wann d'Multiline-Eegeschafte vum RegExp-Objet agestallt ass. |
| $ | Passt op d'Enn vun der Input String.Wann d'Multiline-Eegeschaft vum RegExp-Objet agestallt ass, passt $ och mat der Positioun virum '\n' oder '\r'. |
| . | Passt op all eenzel Charakter ausser "\n".Fir all Charakter mat abegraff '\n' ze passen, benotzt e Muster wéi '[.\n]'. |
| [...] | Sammlung vu Personnagen.Passt op ee vun de enthale Charaktere.Zum Beispill, '[abc]' géif mat "plai'a' an n". |
| [^...] | Negativ Charakter Set.Passt all Charakter net enthalen.Zum Beispill, '[^abc]' géif mat 'p' an "einfach" passen. |
| p1|p2|p3 | Passt op p1 oder p2 oder p3.Zum Beispill, 'z|Iessen' géif entweder "z" oder "Iessen" passen. '(z|f)ood' entsprécht "Zood" oder "Iessen". |
| * | Entsprécht der viregter Ënnerausdrock Null oder méi Mol.Zum Beispill, Zo* passt "z" souwéi "Zoo". * ass gläichwäerteg mat {0,}. |
| + | Entsprécht dem viregte Ënnerausdrock een oder méi Mol.Zum Beispill, 'zo+' géif mat "zo" an "Zoo" passen, awer net "z". + ass gläichwäerteg mat {1,}. |
| {n} | n ass en net-negativ Ganzt.Match genee n mol.Zum Beispill, 'o{2}' géif net mam 'o' am "Bob" passen, awer géife béid O'en am "Iessen" passen. |
| {n,m} | Béid m an n sinn net-negativ ganz Zuelen, wou n <= m.Mätscher op d'mannst n mol an am meeschte m mol. |
Instanz
Nodeems mir déi uewe regulär Ufuerderunge verstanen hunn, kënne mir SQL Aussoe mat reegelméissegen Ausdréck schreiwen no eisen eegene Viraussetzungen.Hei drënner wäerte mir e puer kleng Beispiller oplëschten (Tabellennumm: person_tbl ) fir eist Verständnis ze verdéiwen:
Fannt all Daten déi mam 'st' am Nummfeld ufänken:
mysql> SELECT name FROM person_tbl WHERE name REGEXP '^st';
Fannt all Daten déi mat 'ok' am Nummfeld ophalen:
mysql> SELECT name FROM person_tbl WHERE name REGEXP 'ok$';
Fannt all Donnéeën mat der 'mar' String am Nummfeld:
mysql> SELECT name FROM person_tbl WHERE name REGEXP 'mar';
Fannt all Daten am Nummfeld, déi mat engem Vokalzeechen ufänkt oder mat der String 'ok' endet:
mysql> SELECT name FROM person_tbl WHERE name REGEXP '^[aeiou]|ok$';
Hope Chen Weiliang Blog ( https://www.chenweiliang.com/ ) gedeelt "Wéi passen ech regelméisseg Ausdréck vun der MySQL Datebank? MySQL regexp wéi Benotzung" hëlleft Iech.
Wëllkomm de Link vun dësem Artikel ze deelen:https://www.chenweiliang.com/cwl-492.html
