SQL Academy
Premium
Funktionsreferenz

REGEXP_COUNT

Zählt, wie oft ein regulärer Ausdruck in einem String einen Treffer findet.

PostgreSQL 17.9
REGEXP_COUNT(string, pattern[, start[, flags]])
  • [ ]optionaler Teil
string
String, in dem gesucht wird
text
pattern
Regulärer Ausdruck
text
start
Position, ab der gesucht wird, standardmäßig 1
integerOptional
flags
Flags, zum Beispiel i, um Groß- und Kleinschreibung zu ignorieren
textOptional
bceimnpqstwx

Rückgabewert

Ganze Zahl; 0, wenn es keine Treffer gibt

Beispiele

Zahlen und Ziffern in einem String

PostgreSQL 17.9
SELECT REGEXP_COUNT('a1b22c333', '[0-9]+') AS numbers,
	REGEXP_COUNT('a1b22c333', '[0-9]') AS digits;
numbersdigits
36

Vokale in Namen

PostgreSQL 17.9
SELECT member_name,
	REGEXP_COUNT(member_name, '[aeiou]', 1, 'i') AS vowels
FROM FamilyMembers;
member_namevowels
Headley Quincey6
Flavia Quincey6
Andie Quincey6
Lela Quincey5
Annie Quincey6
Ernest Forrest4
Constance Forrest5
Wednesday Addams5

Details

Die Funktion gibt es seit PostgreSQL 15. Treffer überlappen sich nicht: Im String 'aaa' wird das Muster 'aa' einmal gefunden.

Siehe auch