Директорияи мақолаҳо
пойгоҳи додаҳои MySQLИфодаи муқаррарӣ чӣ гуна мувофиқат мекунад?MySQL regexp ба монанди истифода
Ифодаҳои муқаррарии MySQL
Дар бобҳои қаблӣ мо фаҳмидем, ки MySQL метавонад гузарад МИСЛИ...% барои мувофиқати норавшан.
MySQL инчунин мувофиқати дигар ифодаҳои муқаррариро дастгирӣ мекунад.Оператори REGEXP дар MySQL барои мувофиқ кардани ифодаҳои муқаррарӣ истифода мешавад.
Агар шумо PHP ё Perl-ро донед, ин хеле содда аст, зеро мувофиқати ифодаи муқаррарии MySQL ба скриптҳои ин скриптҳо монанд аст.
Намунаҳои муқаррарии ҷадвали зерин метавонанд ба оператори REGEXP татбиқ карда шаванд.
| Усул | тавсиф |
|---|---|
| ^ | Ба оғози сатри вуруд мувофиқат мекунад.^ инчунин ба мавқеъ пас аз '\n' ё '\r' мувофиқат мекунад, агар хосияти Multiline объекти RegExp муқаррар карда шуда бошад. |
| $ | Ба охири сатри вуруд мувофиқат мекунад.Агар хосияти Multiline объекти RegExp муқаррар карда шуда бошад, $ инчунин ба мавқеъи пеш аз '\n' ё '\r' мувофиқат мекунад. |
| . | Ба ҳар як аломат мувофиқат мекунад, ба истиснои "\n".Барои мувофиқ кардани ҳар гуна аломат, аз ҷумла '\n', намунаи монанди '[.\n]'-ро истифода баред. |
| [...] | маҷмӯи аломатҳо.Ба ҳар яке аз аломатҳои мавҷуда мувофиқат мекунад.Масалан, '[abc]' ба "plai'a' дар n". |
| [^…] | Маҷмӯи аломатҳои манфӣ.Ба ҳар аломате, ки дар он мавҷуд нест, мувофиқат мекунад.Масалан, '[^abc]' ба 'p' дар "plain" мувофиқат мекунад. |
| p1|p2|p3 | P1 ё p2 ё p3 мувофиқат мекунад.Масалан, "z|food" ба "z" ё "food" мувофиқат мекунад. '(z|f)ood' ба "zood" ё "хӯрок" мувофиқат мекунад. |
| * | Ба зер ифодаи қаблӣ сифр ё бештар маротиба мувофиқат мекунад.Масалан, zo* ба «z» ва инчунин «зоопарк» мувофиқат мекунад. * ба {0,} баробар аст. |
| + | Як ё якчанд маротиба ба зер ифодаи қаблӣ мувофиқат мекунад.Масалан, 'zo+' ба "zo" ва "zoo" мувофиқат мекунад, аммо на "z". + ба {1,} баробар аст. |
| {н} | n адади ғайриманфӣ аст.Айнан n маротиба мувофиқат мекунад.Масалан, 'o{2}' ба 'o' дар "Боб" мувофиқат намекунад, балки ба ҳардуи o дар "хӯрок" мувофиқат мекунад. |
| {н,м} | Ҳарду m ва n ададҳои ғайриманфӣ мебошанд, ки дар он n <= m.Камаш n маротиба ва бештар аз m маротиба мувофиқат мекунад. |
мисол
Пас аз фаҳмидани талаботи муқаррарии дар боло зикршуда, мо метавонем изҳороти SQL-ро бо ифодаҳои муқаррарӣ мувофиқи талаботи худамон нависем.Дар зер мо чанд мисоли хурдро номбар мекунем (номи ҷадвал: person_tbl ) барои амиқтар фаҳмиши мо:
Ҳама маълумотеро, ки аз 'st' сар мешаванд, дар майдони ном пайдо кунед:
mysql> SELECT name FROM person_tbl WHERE name REGEXP '^st';
Ҳама маълумотеро, ки бо 'ok' тамом мешавад, дар майдони ном пайдо кунед:
mysql> SELECT name FROM person_tbl WHERE name REGEXP 'ok$';
Ҳама маълумотеро, ки сатри 'mar' доранд, дар майдони ном пайдо кунед:
mysql> SELECT name FROM person_tbl WHERE name REGEXP 'mar';
Ҳама маълумотро дар майдони ном, ки бо аломати садонок оғоз мешавад ё бо сатри 'ok' тамом мешавад, пайдо кунед:
mysql> SELECT name FROM person_tbl WHERE name REGEXP '^[aeiou]|ok$';
Hope Chen Weiliang Blog ( https://www.chenweiliang.com/ ) shared "Чӣ гуна ифодаҳои муқаррарии пойгоҳи додаҳои MySQL-ро мувофиқ кардан мумкин аст? MySQL regexp мисли истифода" ба шумо кӯмак мекунад.
Хуш омадед ба мубодилаи истиноди ин мақола:https://www.chenweiliang.com/cwl-492.html
Барои кушодани ҳилаҳои пинҳонии бештар🔑, хуш омадед ба канали мо дар Telegram ҳамроҳ шавед!
Поделиться ва лайк, агар ба шумо писанд омад! Саҳмияҳо ва лайкҳои шумо ангезаи доимии мо мебошанд!