MySQL маалымат базасынын кадимки туюнтмалары кандайча дал келет? MySQL regexp колдонуу сыяктуу

MySQL маалымат базасыКадимки сөз айкаштары кандайча дал келет?MySQL regexp сыяктуу колдонуу

MySQL кадимки туюнтмасы

Мурунку бөлүмдө биз MySQL өтүшү мүмкүн экенин билдик ЖАКШЫ…% бүдөмүк дал келүүнү аткаруу.

MySQL ошондой эле башка регулярдуу туюнтма дал келүүсүн колдойт.

Эгер сиз PHP же Perl тилдерин билсеңиз, муну жасоо абдан оңой, анткени MySQLдин кадимки туюнтмаларынын дал келиши бул скрипттерге окшош.

Төмөнкү таблицадагы кадимки үлгүлөрдү REGEXP операторуна колдонсо болот.

Modeсүрөттөө
^Киргизилген саптын башына дал келет. Эгерде RegExp объектинин Multiline касиети коюлса, ^ ошондой эле '\n' же '\r' кийинки позицияга дал келет.
$Киргизилген саптын аягына дал келет. RegExp объектинин Multiline касиети коюлган болсо, $ да '\n' же '\r' алдындагы позицияга дал келет.
."\n" дегенден башка бир символго дал келет. Каалаган белгиге, анын ичинде '\n'ге дал келүү үчүн, '[.\n]' үлгүсүн колдонуңуз.
[...]Каармандардын жыйнагы. камтылган белгилердин бирине дал келет. Мисалы, '[abc]' "pl." менен дал келетai'a' in n".
[^…]Терс каармандардын жыйнагы. Кошулбаган кандайдыр бир белгиге дал келет. Мисалы, "[^abc]" "жөнөкөй" ичиндеги "p" менен дал келет.
p1|p2|p3p1 же 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}m жана n экөө тең терс эмес бүтүн сандар, мында n <= m. Жок дегенде n жолу жана эң көп m жолу дал келиңиз.

Instance

Жогорудагы үзгүлтүксүз талаптарды түшүнгөндөн кийин, биз өзүбүздүн муктаждыктарыбызга ылайык SQL билдирүүлөрүн туруктуу туюнтмалар менен жаза алабыз. Төмөндө түшүнүгүбүздү тереңдетүү үчүн бир нече кичинекей мисалдарды (таблица аты: person_tbl) тизмелейбиз:

Аты талаасында "st" менен башталган бардык маалыматтарды табыңыз:

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

Аты талаасында "ок" менен аяктаган бардык маалыматтарды табыңыз:

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

Аты талаасында "mar" сабын камтыган бардык маалыматтарды табыңыз:

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

Үндүү тамга менен башталган же "ок" сабы менен аяктаган ат талаасындагы бардык маалыматтарды табыңыз:

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

Hope Chen Weiliang блогу ( https://www.chenweiliang.com/ ) бөлүштү "MySQL маалымат базасында кадимки туюнтмаларды кантип дал келтирүү керек?" MySQL regexp сыяктуу колдонуу", ал сизге пайдалуу болот.

Бул макаланын шилтемесин бөлүшүүгө кош келиңиз:https://www.chenweiliang.com/cwl-492.html

Акыркы жаңылыктарды алуу үчүн Чен Вейляндын блогунун Telegram каналына кош келиңиз!

🔔 Каналдын башкы каталогунан баалуу "ChatGPT Content Marketing AI куралын колдонуу боюнча колдонмону" биринчилерден болуп алыңыз! 🌟
📚 Бул колдонмо чоң баалуулуктарды камтыйт, 🌟Бул сейрек кездешүүчү мүмкүнчүлүк, аны өткөрүп жибербеңиз! ⏰⌛💨
Бөлүшүп, жакса лайк!
Сиздин бөлүшүүңүз жана лайктарыңыз биздин үзгүлтүксүз мотивациябыз!

 

发表 评论

Электрондук почта дарегиңиз жарыяланбайт. Милдеттүү талаалар колдонулат * 标注

өйдө сыдырыңыз