Hoe komme reguliere útdrukkingen fan MySQL-database oerien? MySQL regexp lykas gebrûk

MySQL databankHoe komt de reguliere ekspresje oerien?MySQL regexp lykas gebrûk

MySQL reguliere útdrukkingen

Yn 'e foarige haadstikken hawwe wy leard dat MySQL kin wêze LYKAS...% foar fuzzy matching.

MySQL stipet ek de oerienkomst fan oare reguliere útdrukkingen. De REGEXP-operator wurdt brûkt yn MySQL foar it oerienkommen fan reguliere útdrukkingen.

As jo ​​PHP of Perl kenne, is it frij ienfâldich, om't MySQL's reguliere ekspresje oerienkomt mei dy fan dizze skripts.

De reguliere patroanen yn 'e folgjende tabel kinne tapast wurde op de REGEXP-operator.

Modebeskriuwing
^Komt oerien mei it begjin fan 'e ynfierstring.^ komt ek oerien mei de posysje nei '\n' of '\r' as de Multiline-eigenskip fan it RegExp-objekt is ynsteld.
$Komt oerien mei it ein fan 'e ynfierstring.As de Multiline-eigenskip fan it RegExp-objekt is ynsteld, komt $ ek oerien mei de posysje foar '\n' of '\r'.
.Komt oerien mei elk inkeld karakter útsein "\n".Om oerien te kommen mei elk karakter ynklusyf '\n', brûk in patroan lykas '[.\n]'.
[...]kolleksje fan karakters.Komt oerien mei ien fan 'e befette karakters.Bygelyks, '[abc]' soe oerienkomme mei "plai'a' yn n".
[^...]Negatyf karakter set.Komt oerien mei elk karakter dat net befette.Bygelyks, '[^abc]' soe oerienkomme mei 'p' yn 'gewoan'.
p1|p2|p3Komt oerien mei p1 of p2 of p3.Bygelyks, 'z|iten' soe oerienkomme mei "z" of "iten". '(z|f)ood' komt oerien mei "zood" of "iten".
*Komt oerien mei de foargeande subekspresje nul of mear kearen.Zo* soe bygelyks oerienkomme mei "z" en "zoo". * is lykweardich oan {0,}.
+Komt ien of mear kearen oerien mei de foargeande subekspresje.Bygelyks, 'zo+' soe oerienkomme mei "zo" en "zoo", mar net "z". + is lykweardich oan {1,}.
{n}n is in net-negatyf hiel getal.Komt krekt n kear oerien.Bygelyks, 'o{2}' soe net oerienkomme mei de 'o' yn "Bob", mar soe oerienkomme mei beide o's yn "iten".
{n,m}Sawol m as n binne net-negative heule getallen, wêrby't n <= m.Komt op syn minst n kear oer en op syn heechst m kear.

Instance

Nei it begripen fan de boppesteande reguliere easken, kinne wy ​​skriuwe SQL-útspraken mei reguliere útdrukkingen neffens ús eigen easken.Hjirûnder sille wy in pear lytse foarbylden listje (tabelnamme: person_tbl ) om ús begryp te ferdjipjen:

Fyn alle gegevens begjinnend mei 'st' yn it nammefjild:

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

Sykje alle gegevens dy't einigje op 'ok' yn it nammefjild:

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

Fyn alle gegevens mei de 'mar' tekenrige yn it nammefjild:

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

Sykje alle gegevens yn it nammefjild dat begjint mei in lûdkarakter of einiget mei de tekenrige 'ok':

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

发表 评论

Jo e-mailadres sil net publisearre wurde. Ferplichte fjilden wurde brûkt * Etiket

Scroll nei boppen