REGEXPFunktion _ COUNT - AWS Clean Rooms

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

REGEXPFunktion _ COUNT

Durchsucht eine Zeichenfolge nach einem regulären Ausdrucksmuster und gibt eine Ganzzahl zurück, die die Häufigkeit angibt, mit der das Muster in der Zeichenfolge auftritt. Wenn keine Übereinstimmung gefunden wird, gibt die Funktion 0 zurück.

Syntax

REGEXP_COUNT ( source_string, pattern [, position [, parameters ] ] )

Argumente

source_string

Ein Zeichenfolgenausdruck (beispielsweise ein Spaltenname), der gesucht werden soll.

pattern

Ein Zeichenfolgenliteral, das ein Muster für reguläre Ausdrücke darstellt.

position

Eine positive Ganzzahl, die die Position innerhalb von source_string angibt, an der die Suche gestartet werden soll. Die Position basiert auf der Anzahl der Zeichen, nicht der Bytes. Daher werden Zeichen mit mehreren Bytes als einzelne Zeichen gezählt. Der Standardwert ist 1. Wenn position kleiner als 1 ist, beginnt die Suche mit dem ersten Zeichen von source_string. Wenn position größer als die Anzahl der Zeichen in source_string ist, ist das Ergebnis 0.

parameters (Parameter

Ein oder mehrere Zeichenfolgenliterale, die angeben, wie die Funktion mit dem Muster übereinstimmt. Die folgenden Werte sind möglich:

  • c – Übereinstimmung mit Unterscheidung von Groß- und Kleinschreibung durchführen. Die Standardeinstellung ist, beim Abgleich die Groß- und Kleinschreibung zu beachten.

  • i – Übereinstimmung ohne Unterscheidung von Groß- und Kleinschreibung durchführen.

  • p — Interpretiert das Muster mit dem Perl-kompatiblen Dialekt für reguläre Ausdrücke (PCRE).

Rückgabetyp

Ganzzahl

Beispiel

Im folgenden Beispiel wird die Häufigkeit gezählt, mit der eine Folge aus drei Buchstaben auftritt.

SELECT regexp_count('abcdefghijklmnopqrstuvwxyz', '[a-z]{3}'); regexp_count -------------- 8

Im folgenden Beispiel wird die Häufigkeit gezählt, mit der der Name der obersten Domäne entweder org oder edu ist.

SELECT email, regexp_count(email,'@[^.]*\\.(org|edu)')FROM users ORDER BY userid LIMIT 4; email | regexp_count -----------------------------------------------+-------------- Etiam.laoreet.libero@sodalesMaurisblandit.edu | 1 Suspendisse.tristique@nonnisiAenean.edu | 1 amet.faucibus.ut@condimentumegetvolutpat.ca | 0 sed@lacusUtnec.ca | 0

Im folgenden Beispiel wird die Anzahl der Vorkommen der Zeichenfolge FOX gezählt, wobei nicht zwischen Groß- und Kleinschreibung unterschieden wird.

SELECT regexp_count('the fox', 'FOX', 1, 'i'); regexp_count -------------- 1

Das folgende Beispiel verwendet ein im PCRE Dialekt geschriebenes Muster, um Wörter zu finden, die mindestens eine Zahl und einen Kleinbuchstaben enthalten. Es verwendet den ?= Operator, der eine bestimmte Vorausschau-Konnotation in hat. PCRE In diesem Beispiel wird die Anzahl der Vorkommen solcher Wörter gezählt, wobei zwischen Groß- und Kleinschreibung unterschieden wird.

SELECT regexp_count('passwd7 plain A1234 a1234', '(?=[^ ]*[a-z])(?=[^ ]*[0-9])[^ ]+', 1, 'p'); regexp_count -------------- 2

Das folgende Beispiel verwendet ein im PCRE Dialekt geschriebenes Muster, um Wörter zu finden, die mindestens eine Zahl und einen Kleinbuchstaben enthalten. Es verwendet den ?= Operator, der eine bestimmte Konnotation in hat. PCRE In diesem Beispiel wird die Anzahl der Vorkommen solcher Wörter gezählt. Dies unterscheidet sich insofern vom vorherigen Beispiel, als dass nicht zwischen Groß- und Kleinschreibung unterschieden wird.

SELECT regexp_count('passwd7 plain A1234 a1234', '(?=[^ ]*[a-z])(?=[^ ]*[0-9])[^ ]+', 1, 'ip'); regexp_count -------------- 3