regexp_replace-Funktion

Gilt für:durch Häkchen mit „Ja“ markiert Databricks SQL durch Häkchen mit „Ja“ markiert Databricks Runtime

Ersetzt alle Teilzeichenfolgen von str, die regexp entsprechen, durch rep.

Syntax

regexp_replace(str, regexp, rep [, position] )

Argumente

  • str: Ein STRING-Ausdruck, der abgeglichen werden soll.
  • regexp: Ein STRING-Ausdruck mit einem übereinstimmenden Muster.
  • rep: Ein STRING-Ausdruck, der die Ersetzungszeichenfolge darstellt.
  • position: Ein optionales integrales numerisches Literal größer als 0, das an gibt, wo der Abgleich beginnen soll. Der Standardwert ist 1.

Gibt zurück

Ein STRING.

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.

Die Suche beginnt bei position. Der Standardwert ist 1, wodurch der Anfang von str markiert wird. Wenn position die Zeichenlänge von str überschreitet, ist das Ergebnis str.

Häufige Fehlerbedingungen

Beispiele

Ersetzen sie jede Übereinstimmung durch festen Text

> SELECT regexp_replace('100-200', r'(\d+)', 'num');
 num-num

Maskenziffern

> SELECT regexp_replace('SSN 123-45-6789', r'\d', '#');
 SSN ###-##-####

Neuanordnen von Teilen mithilfe von Erfassungsgruppen

Verwenden Sie $ in der Ersetzungszeichenfolge gefolgt von der Gruppennummer, um auf eine Aufnahmegruppe ($1, $2) zu verweisen.

> SELECT regexp_replace('2024-03-15', r'(\d{4})-(\d{2})-(\d{2})', '$3/$2/$1');
 15/03/2024

Wiederholtes Leerzeichen reduzieren

> SELECT regexp_replace('too    many   spaces', r'\s+', ' ');
 too many spaces

Ungültiges regex-Muster

> SELECT regexp_replace('abc', '[invalid', 'x');
  Error: INVALID_PARAMETER_VALUE.PATTERN