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;Пользователи с почтой Gmail или Hotmail
PostgreSQL 17.5
SELECT name,
email
FROM Users
WHERE REGEXP_LIKE(email, '@(gmail|hotmail)\.com$')
LIMIT 5;Подробности
Функция появилась в PostgreSQL 15. Она делает то же, что оператор ~ (и ~* без учёта регистра). Совпадение ищется в любом месте строки: чтобы проверить строку целиком, добавьте в шаблон ^ и $.