Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für:
Databricks SQL
Databricks Runtime
Extrahiert alle Zeichenfolgen in str, die dem regexp-Ausdruck und dem regex-Gruppenindex entsprechen.
Syntax
regexp_extract_all(str, regexp [, idx] )
Argumente
-
str: EinSTRING-Ausdruck, der abgeglichen werden soll. -
regexp: EinSTRING-Ausdruck mit einem übereinstimmenden Muster. -
idx: ein optionaler integraler Zahlenausdruck größer oder gleich 0 mit dem Standardwert 1
Gibt zurück
Ein ARRAY<STRING>-Element.
Die regexp Zeichenfolge muss ein regulärer Ausdruck sein. Siehe reguläre Ausdrücke für die unterstützte Syntax.
Verwenden Sie beim Einsatz von Literalen raw-literal (Präfixr), um die Vorabverarbeitung von Escapezeichen zu vermeiden.
regexp kann mehrere Gruppen enthalten.
idx gibt an, welche RegEx-Gruppe extrahiert werden soll.
Eine idx von 0 bedeutet, dass nach einer Übereinstimmung mit dem gesamten regulären Ausdruck gesucht werden soll.
Häufige Fehlerbedingungen
Beispiele
Extrahieren einer Erfassungsgruppe aus jeder Übereinstimmung
idx wählt aus, welche Aufnahmegruppe von jeder Übereinstimmung zurückgegeben werden soll.
> SELECT regexp_extract_all('100-200, 300-400', r'(\d+)-(\d+)', 1);
[100, 300]
> SELECT regexp_extract_all('100-200, 300-400', r'(\d+)-(\d+)', 2);
[200, 400]
Extrahieren jeder Zahl in einer Zeichenfolge
> SELECT regexp_extract_all('There are 10 cats, 20 dogs, and 30 birds', r'(\d+)', 1);
[10, 20, 30]
Extrahieren Sie jeden Hashtag
> SELECT regexp_extract_all('Posts tagged #data #ai #sql', r'#(\w+)', 1);
[data, ai, sql]
Extrahieren aller Übereinstimmungen eines Gruppenlosen Musters
Wenn das Muster keine Erfassungsgruppe aufweist, verwenden Sie eine idx von 0, um die gesamte Übereinstimmung zurückzugeben.
> SELECT regexp_extract_all('Send to alice@example.com or bob@example.org', r'\w+@\w+\.\w+', 0);
[alice@example.com, bob@example.org]
Ungültiges regex-Muster
> SELECT regexp_extract_all('abc', '[invalid', 0);
Error: INVALID_PARAMETER_VALUE.PATTERN