Как съответстват регулярните изрази на базата данни на MySQL? Използване, подобно на MySQL regexp

Справочник на статиите

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„а“ в n“.
[^…]Отрицателен набор от знаци.Съвпада с всеки символ, който не се съдържа.Например '[^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 пъти.Например „o{2}“ няма да съвпадне с „o“ в „Боб“, но ще съвпадне и с двете o в „храна“.
{n,m}И 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 usage" ще ви помогне.

Добре дошли да споделите връзката към тази статия:https://www.chenweiliang.com/cwl-492.html

Добре дошли в канала на Telegram в блога на Chen Weiliang, за да получите най-новите актуализации!

🔔 Бъдете първите, получили ценното „Ръководство за използване на инструмента за изкуствен интелект за маркетинг на съдържание ChatGPT“ в горната директория на канала! 🌟
📚 Това ръководство съдържа огромна стойност, 🌟Това е рядка възможност, не я пропускайте! ⏰⌛💨
Споделете и харесайте, ако ви харесва!
Вашите споделяния и харесвания са нашата постоянна мотивация!

 

发表 评论

Вашият имейл адрес няма да бъде публикуван. Използват се задължителните полета * Етикет

превъртете до върха