REGEXP_LIKE
Проверяет, соответствует ли строка регулярному выражению.
MySQL 8.4
REGEXP_LIKE(expr, pattern[, match_type])- [ ]необязательная часть
- expr
- Проверяемая строкаVARCHAR
- pattern
- Регулярное выражениеVARCHAR
- match_type
- Флаги сопоставления, можно сочетатьVARCHARНеобязательныйcimnu
Возвращаемое значение
1, если совпадение есть, иначе 0; NULL, если expr или pattern равен NULL
Примеры
Проверка без учёта и с учётом регистра
MySQL 8.4
SELECT REGEXP_LIKE('Anna', '^an') AS ignore_case,
REGEXP_LIKE('Anna', '^an', 'c') AS match_case;Почта Hotmail или Outlook
MySQL 8.4
SELECT name,
email
FROM Users
WHERE REGEXP_LIKE(email, '@(hotmail|outlook)[.]com$');Подробности
Совпадение ищется в любом месте строки. Чтобы проверить строку целиком, начните выражение с ^ и закончите $. Регистр по умолчанию зависит от сопоставления (collation) строки, в учебных базах он не учитывается.
Флаги в match_type можно комбинировать, при противоречии действует последний: