Каталог статей
База даних 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 разів.Наприклад, "o{2}" не збігатиметься з "o" у "Боб", але відповідатиме обом o у "food". |
| {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-каналу!
Поділіться та поставте лайк, якщо вам подобається! Ваші розповсюдження та вподобання — наша постійна мотивація!