Мақала анықтамалығы
MySQL деректер қорыТұрақты өрнек қалай сәйкес келеді?MySQL regexp сияқты пайдалану
MySQL тұрақты өрнектері
Алдыңғы тарауларда біз MySQL болуы мүмкін екенін білдік ҰНАУ...% анық емес сәйкестік үшін.
MySQL сонымен қатар басқа тұрақты өрнектердің сәйкестігін қолдайды.REGEXP операторы MySQL-де қалыпты өрнектерді сәйкестендіру үшін пайдаланылады.
Егер сіз PHP немесе Perl тілдерін білсеңіз, бұл өте қарапайым, өйткені MySQL-тің тұрақты өрнек сәйкестігі осы сценарийлердің өрнектеріне ұқсас.
Келесі кестедегі қалыпты үлгілерді REGEXP операторына қолдануға болады.
| Режим | 描述 |
|---|---|
| ^ | Енгізу жолының басына сәйкес келеді.^ сонымен қатар RegExp нысанының Multiline сипаты орнатылған болса, '\n' немесе '\r' кейінгі орынға сәйкес келеді. |
| $ | Енгізу жолының соңына сәйкес келеді.RegExp нысанының Multiline сипаты орнатылған болса, $ сонымен қатар '\n' немесе '\r' алдындағы орынға сәйкес келеді. |
| . | "\n"-ден басқа кез келген жалғыз таңбаға сәйкес келеді.Кез келген таңбаны, соның ішінде "\n" таңбасын сәйкестендіру үшін "[.\n]" сияқты үлгіні пайдаланыңыз. |
| [...] | кейіпкерлер жинағы.Қамтылған таңбалардың кез келгеніне сәйкес келеді.Мысалы, '[abc]' «plain ішіндегі 'a'. |
| [^…] | Теріс таңбалар жинағы.Құрамында жоқ кез келген таңбаға сәйкес келеді.Мысалы, '[^abc]' "plain" тіліндегі "p" мәніне сәйкес келеді. |
| p1|p2|p3 | p1 немесе p2 немесе p3 сәйкес келеді.Мысалы, «z|food» «z» немесе «тағам» сөздеріне сәйкес келеді. '(z|f)ood' "zood" немесе "тағам" сәйкес келеді. |
| * | Алдыңғы ішкі өрнекке нөл немесе одан көп рет сәйкес келеді.Мысалы, zo* «z» және «хайуанаттар бағы» сәйкес келеді. * {0,} тең. |
| + | Алдыңғы ішкі өрнекке бір немесе бірнеше рет сәйкес келеді.Мысалы, «zo+» «zo» және «хайуанаттар бағы» сәйкес келеді, бірақ «z» емес. + {1,} тең. |
| {n} | n теріс емес бүтін сан.Дәл n рет сәйкес келеді.Мысалы, «o{2}» «Боб» ішіндегі «o» әрпіне сәйкес келмейді, бірақ «тағам» ішіндегі екі oға да сәйкес келеді. |
| {n,м} | 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 блогы ( https://www.chenweiliang.com/ ) бөлісті "MySQL дерекқорының тұрақты өрнектерін қалай сәйкестендіруге болады? MySQL regexp like use» сізге көмектеседі.
Осы мақаланың сілтемесін бөлісуге қош келдіңіз:https://www.chenweiliang.com/cwl-492.html
Көбірек жасырын трюктердің құлпын ашу үшін🔑 Telegram каналымызға қосылыңыз!
Бөлісу және ұнаса лайк! Сіздің бөлісулеріңіз бен лайктарыңыз біздің тұрақты мотивациямыз болып табылады!