Funkce regexp_replace

Platí pro:zaškrtnuto ano Databricks SQL zaškrtnuto ano Databricks Runtime

Nahradí všechny podřetězce str, které odpovídají regexp, rep.

Syntaxe

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

Argumenty

  • str: Výraz STRING , který se má shodovat.
  • regexp: Výraz STRING s odpovídajícím vzorem.
  • rep: Výraz STRING, který slouží jako náhradní řetězec.
  • position: Volitelný integrální číselný literál větší než 0, který uvádí, kde začít hledat shodu. Výchozí hodnota je 1.

Návraty

Úloha STRING.

Řetězec regexp musí být regulární výraz. Podporované syntaxe najdete v regulárních výrazech .

Při použití literálů použijte raw-literal (r předpona) k zamezení předzpracování escape sekvencí.

Hledání začíná na position. Výchozí hodnota je 1, která označuje začátek str. Pokud position překročí délku znaku str, výsledek je str.

Běžné chybové podmínky

Příklady

Nahrazení každé shody pevným textem

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

Maskování číslic

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

Změna pořadí částí pomocí skupin zachycení

V náhradním řetězci použijte $ číslo skupiny, které odkazuje na skupinu zachycení ($1, $2).

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

Sbalení opakovaných prázdných znaků

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

Neplatný vzor regulárního výrazu

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