REGEXP_COUNT
Подсчитывает, сколько раз регулярное выражение совпадает в строке.
PostgreSQL 17.5
REGEXP_COUNT(string, pattern[, start[, flags]])Параметры
- stringtext
- Строка, в которой выполняется поиск
- patterntext
- Регулярное выражение
- startintegerнеобязательный
- Позиция начала поиска, по умолчанию 1
- flagstextнеобязательный
- Флаги, например i — без учёта регистра
Возвращаемое значение
Целое число (integer); 0, если совпадений нет
Примеры
Числа и цифры в строке
PostgreSQL 17.5
SELECT REGEXP_COUNT('a1b22c333', '[0-9]+') AS numbers,
REGEXP_COUNT('a1b22c333', '[0-9]') AS digits;Гласные в именах
PostgreSQL 17.5
SELECT member_name,
REGEXP_COUNT(member_name, '[aeiou]', 1, 'i') AS vowels
FROM FamilyMembers;Подробности
Функция появилась в PostgreSQL 15. Совпадения не пересекаются: в строке 'aaa' шаблон 'aa' найдётся один раз.