REGEXP

Оператор REGEXP используется для проверки, соответствует ли строка заданному регулярному выражению. Чаще всего применяется в условии WHERE для гибкой фильтрации текстовых данных.

Синтаксис

sqlSELECT column_list
FROM table_name
WHERE column_name REGEXP pattern

Таблицы для примеров

users
id name email
1 Ivan ivan@example.com
2 Olga olga@mail.ru
3 Sergey sergey123@example.com
4 Anna anna@test.org

Пример

Давайте выберем пользователей, чьи email-адреса оканчиваются на домен example.com:

sqlSELECT id, name, email FROM users
WHERE email REGEXP 'example\\.com$'
ORDER BY id

Результат выполнения кода:

id name email
1 Ivan ivan@example.com
3 Sergey sergey123@example.com

Пример

Давайте выберем пользователей, в имени которых присутствуют только латинские буквы без цифр:

sqlSELECT id, name FROM users
WHERE name REGEXP '^[A-Za-z]+$'
ORDER BY id

Результат выполнения кода:

id name
1 Ivan
2 Olga
4 Anna

Смотрите также

  • команду LIKE,
    которая ищет по шаблону с % и _
  • команду WHERE,
    которая отбирает строки по условию
  • команду NOT,
    которая инвертирует условие
  • функцию REPLACE,
    которая заменяет найденные фрагменты строки