Помимо сопоставления с шаблоном, доступного в предложениях LIKE, MariaDB предлагает сопоставление на основе регулярных выражений с помощью оператора REGEXP. Оператор выполняет сопоставление с образцом для строкового выражения на основе заданного образца.
MariaDB 10.0.5 представила регулярные выражения PCRE, которые значительно расширяют возможности сопоставления с такими областями, как рекурсивные шаблоны, прогнозные утверждения и многое другое.
Просмотрите использование стандартного синтаксиса оператора REGEXP, приведенного ниже —
SELECT column FROM table_name WHERE column REGEXP '[PATTERN]';
REGEXP возвращает 1 для совпадения с шаблоном или 0 при отсутствии такового.
Опция для обратного существует в форме NOT REGEXP. MariaDB также предлагает синонимы для REGEXP и NOT REGEXP, RLIKE и NOT RLIKE, которые были созданы по причинам совместимости.
Сравниваемый шаблон может быть литеральной строкой или чем-то еще, например столбцом таблицы. В строках он использует C-синтаксис, поэтому удваивайте любые символы «\». REGEXP также нечувствителен к регистру, за исключением двоичных строк.
Таблица возможных шаблонов, которые можно использовать, приведена ниже —
Sr.No | Шаблон и описание |
---|---|
1 |
^ Это соответствует началу строки. |
2 |
$ Это соответствует концу строки. |
3 |
, Это соответствует одному символу. |
4 |
[…] Соответствует любому символу в скобках. |
5 |
[^ …] Соответствует любому символу, не указанному в скобках. |
6 |
p1 | p2 | p3 Это соответствует любой из моделей. |
7 |
* Это соответствует 0 или более экземпляров предыдущего элемента. |
8 |
+ Это соответствует 1 или более экземпляров предыдущего элемента. |
9 |
{п} Он соответствует n экземплярам предыдущего элемента. |
10 |
{т, п} Это соответствует от m до n экземпляров предыдущего элемента. |
^
Это соответствует началу строки.
$
Это соответствует концу строки.
,
Это соответствует одному символу.
[…]
Соответствует любому символу в скобках.
[^ …]
Соответствует любому символу, не указанному в скобках.
p1 | p2 | p3
Это соответствует любой из моделей.
*
Это соответствует 0 или более экземпляров предыдущего элемента.
+
Это соответствует 1 или более экземпляров предыдущего элемента.
{п}
Он соответствует n экземплярам предыдущего элемента.
{т, п}
Это соответствует от m до n экземпляров предыдущего элемента.
Просмотрите примеры соответствия шаблонов, приведенные ниже —
Продукты, начинающиеся с «pr» —
SELECT name FROM product_tbl WHERE name REGEXP '^pr';
Продукты, заканчивающиеся на «на» —
SELECT name FROM product_tbl WHERE name REGEXP 'na$';
Продукты начинающиеся с гласной —