regexp_extract_all-Funktion

Gilt für:durch Häkchen mit „Ja“ markiert Databricks SQL Häkchen gesetzt ja 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: Ein STRING-Ausdruck, der abgeglichen werden soll.
  • regexp: Ein STRING-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