baz done MySQLKi jan ekspresyon regilye yo koresponn?Miskl regexp tankou itilizasyon
MySQL ekspresyon regilye
Nan chapit anvan an nou te aprann ke MySQL ka pase LIKE...% fè matche flou.
MySQL sipòte tou lòt matche ekspresyon regilye yo.Yo itilize operatè REGEXP nan MySQL pou matche ekspresyon regilye.
Si w konnen PHP oswa Perl, li trè fasil fè paske matche ekspresyon regilye MySQL a sanble ak sa yo ki nan scripts sa yo.
Modèl regilye yo nan tablo sa a ka aplike nan operatè REGEXP la.
Mode | 描述 |
---|---|
^ | Koresponn ak kòmansman fisèl opinyon an. Si yo mete pwopriyete Multiline objè RegExp la, ^ tou matche ak pozisyon apre '\n' oswa '\r'. |
$ | Koresponn ak fen fisèl D '. Si yo mete pwopriyete Multiline objè RegExp la, $ tou matche ak pozisyon anvan '\n' oswa '\r'. |
. | Koresponn ak nenpòt karaktè eksepte "\n". Pou matche ak nenpòt karaktè ki gen ladan '\n', sèvi ak yon modèl tankou '[.\n]'. |
[...] | Koleksyon karaktè. Koresponn ak nenpòt nan karaktè yo genyen yo. Pou egzanp, '[abc]' ta matche ak "plai'a' nan n". |
[^…] | Yon koleksyon karaktè negatif. Koresponn ak nenpòt karaktè ki pa enkli. Pa egzanp, '[^abc]' matche ak 'p' nan "plenn". |
p1|p2|p3 | Matche p1 oswa p2 oswa p3. Pa egzanp, 'z|manje' matche ak "z" oswa "manje". '(z|f)ood' matche ak "zood" oswa "manje". |
* | Koresponn ak sou-ekspresyon anvan an zewo oswa plis fwa. Pa egzanp, zo* matche "z" ak "zoo". * Ekivalan a {0,}. |
+ | Koresponn ak sou-ekspresyon anvan an youn oswa plizyè fwa. Pa egzanp, 'zo+' matche ak "zo" ak "zoo", men se pa "z". + ekivalan a {1,}. |
{n} | n se yon nonb antye ki pa negatif. Match detèmine n fwa. Pa egzanp, 'o{2}' pa ka matche ak 'o' nan "Bob", men li ka matche ak de o nan "manje". |
{n,m} | m ak n tou de se nonm antye ki pa negatif, kote n <= m. Matche omwen n fwa ak omwen m fwa. |
Enstans
Apre w fin konprann kondisyon regilye ki anwo yo, nou ka ekri deklarasyon SQL ak ekspresyon regilye selon pwòp bezwen nou yo. Anba a nou pral lis kèk ti egzanp (non tab la: person_tbl) pou apwofondi konpreyansyon nou:
Jwenn tout done ki kòmanse ak 'st' nan jaden non an:
mysql> SELECT name FROM person_tbl WHERE name REGEXP '^st';
Jwenn tout done ki fini ak 'ok' nan jaden non an:
mysql> SELECT name FROM person_tbl WHERE name REGEXP 'ok$';
Jwenn tout done ki genyen fisèl 'mar' nan jaden non an:
mysql> SELECT name FROM person_tbl WHERE name REGEXP 'mar';
Jwenn tout done nan jaden non an ki kòmanse ak yon karaktè vwayèl oswa ki fini ak fisèl 'ok':
mysql> SELECT name FROM person_tbl WHERE name REGEXP '^[aeiou]|ok$';
Hope Chen Weiliang Blog ( https://www.chenweiliang.com/ ) pataje "Ki jan yo matche ak ekspresyon regilye nan baz done MySQL?" MySQL regexp tankou itilizasyon", li pral itil pou ou.
Byenvini pataje lyen atik sa a:https://www.chenweiliang.com/cwl-492.html
Byenveni nan chanèl Telegram blog Chen Weiliang a pou jwenn dènye mizajou yo!
📚 Gid sa a gen anpil valè, 🌟Sa a se yon opòtinite ki ra, pa rate li! ⏰⌛💨
Pataje epi like siw renmen!
Pataje w ak renmen ou se motivasyon kontinyèl nou!