Учебники

MariaDB — регулярное выражение

Помимо сопоставления с шаблоном, доступного в предложениях 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$';

Продукты начинающиеся с гласной —