Справочник по функциям

REGEXP_LIKE

Проверяет, есть ли в строке совпадение с регулярным выражением.

PostgreSQL 17.5
REGEXP_LIKE(string, pattern[, flags])

Параметры

stringtext
Строка, в которой выполняется поиск
patterntext
Регулярное выражение
flagstextнеобязательный
Флаги, например i — без учёта регистра

Возвращаемое значение

true или false; NULL, если string или pattern равны NULL

Примеры

С учётом регистра и без

PostgreSQL 17.5
SELECT REGEXP_LIKE('PostgreSQL', 'sql') AS case_sensitive,
	REGEXP_LIKE('PostgreSQL', 'sql', 'i') AS ignore_case;
case_sensitiveignore_case
falsetrue

Пользователи с почтой Gmail или Hotmail

PostgreSQL 17.5
SELECT name,
	email
FROM Users
WHERE REGEXP_LIKE(email, '@(gmail|hotmail)\.com$')
LIMIT 5;
nameemail
Bruce Willisbarjam@hotmail.com
Jennifer Lopezbarjam@hotmail.com
Harrison Fordkostas@hotmail.com
Michael Douglastimtroyr@hotmail.com
Catherine Zeta-Jonesflakeg@hotmail.com

Подробности

Функция появилась в PostgreSQL 15. Она делает то же, что оператор ~ (и ~* без учёта регистра). Совпадение ищется в любом месте строки: чтобы проверить строку целиком, добавьте в шаблон ^ и $.

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