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