Як супадаюць рэгулярныя выразы базы дадзеных MySQL? Выкарыстанне рэгулярнага выражэння MySQL

База дадзеных MySQLЯк супадае рэгулярны выраз?MySQL выкарыстанне рэгулярных выразаў

Рэгулярныя выразы MySQL

У папярэдніх раздзелах мы даведаліся, што MySQL можа прайсці ПАДАБАЕЦЦА...% для недакладнага супастаўлення.

MySQL таксама падтрымлівае супастаўленне іншых рэгулярных выразаў. Аператар REGEXP выкарыстоўваецца ў MySQL для супастаўлення рэгулярных выразаў.

Калі вы ведаеце PHP або Perl, гэта даволі проста, бо супастаўленне рэгулярных выразаў MySQL падобна да супастаўлення гэтых скрыптоў.

Звычайныя шаблоны ў наступнай табліцы можна прымяніць да аператара REGEXP.

рэжымапісанне
^Супадае з пачаткам радка ўводу.^ таксама адпавядае пазіцыі пасля '\n' або '\r', калі ўстаноўлена ўласцівасць Multiline аб'екта RegExp.
$Супадае з канцом радка ўводу.Калі ўстаноўлена ўласцівасць Multiline аб'екта RegExp, $ таксама адпавядае пазіцыі перад '\n' або '\r'.
.Супадае з любым сімвалам, акрамя "\n".Каб адпавядаць любому сімвалу, уключаючы '\n', выкарыстоўвайце шаблон накшталт '[.\n]'.
[...]калекцыя знакаў.Супадае з любым з уключаных сімвалаў.Напрыклад, «[abc]» будзе адпавядаць «plai«а» ў н».
[^…]Адмоўны набор сімвалаў.Супадае з любым сімвалам, які не змяшчаецца.Напрыклад, '[^abc]' будзе адпавядаць 'p' у «простым».
p1|p2|p3Супадае з p1, p2 або p3.Напрыклад, "z|ежа" будзе адпавядаць альбо "z", альбо "ежа". «(z|f)ood» адпавядае «zood» або «food».
*Супадае з папярэднім падвыразам нуль або больш разоў.Напрыклад, zo* будзе адпавядаць "z", а таксама "zoo". * эквівалентна {0,}.
+Супадае з папярэднім падвыразам адзін ці некалькі разоў.Напрыклад, "zo+" будзе адпавядаць "zo" і "zoo", але не "z". + эквівалентна {1,}.
{п}n - цэлы неадмоўны лік.Супадае роўна n разоў.Напрыклад, "о{2}" не будзе адпавядаць "о" ў "Боб", але будзе адпавядаць абодвум о ў "ежа".
{n,m}І m, і n з'яўляюцца цэлымі неадмоўнымі лікамі, дзе n <= m.Супадае не менш за n разоў і не больш за m разоў.

Інстанцыя

Пасля разумення вышэйзгаданых рэгулярных патрабаванняў мы можам пісаць аператары 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 like usage" дапаможа вам.

Запрашаем падзяліцца спасылкай на гэты артыкул:https://www.chenweiliang.com/cwl-492.html

Сардэчна запрашаем на канал Telegram у блогу Чэнь Вэйляна, каб атрымліваць апошнія абнаўленні!

🔔 Будзьце першым, хто атрымае каштоўнае "Кіраўніцтва па выкарыстанні інструмента AI для маркетынгу кантэнту ChatGPT" у верхнім каталогу канала! 🌟
📚 Гэты дапаможнік мае вялікую каштоўнасць, 🌟Гэта рэдкая магчымасць, не прапусціце яе! ⏰⌛💨
Падзяліцеся і лайкайце, калі хочаце!
Ваш абмен і лайкі - наша пастаянная матывацыя!

 

发表 评论

Ваш адрас электроннай пошты не будзе апублікаваны. 必填 项 已 用 * Этыкетка

пракруціць ўверх