A regexp_replace függvény

A következőkre vonatkozik:jelölje be az igennel jelölt jelölőnégyzetet Databricks SQL jelölje be az igennel jelölt jelölőnégyzetet Databricks Runtime

Az összes str -ban/str -ben található alsztringet, amely egyezik rep-vel, lecseréli -re.

Szintaxis

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

Argumentumok

  • str: Egy STRING egyeztetendő kifejezés.
  • regexp: Egy STRING egyező mintával rendelkező kifejezés.
  • rep: A STRING helyettesítő sztringet tartalmazó kifejezés.
  • position: Egy 0-nál nagyobb, nem kötelező numerikus egész számkonstans, amely megadja, hogy hol kezdődjön az egyezés. Az alapértelmezett érték 1.

Visszatérések

Egy STRING.

A regexp sztringnek normál kifejezésnek kell lennie. A támogatott szintaxishoz lásd a Reguláris kifejezéseket .

Literálok használata esetén használja (raw-literalr prefix) a feloldó karakterek előfeldolgozásának elkerüléséhez.

A keresés a következő időpontban positionkezdődik: . Az alapértelmezett érték 1, amely a kezdetét strjelöli. Ha position meghaladja a str karakterszámot, az eredmény str.

Gyakori hibafeltételek

Példák

Minden egyezés lecserélése rögzített szövegre

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

Számjegyek maszkolása

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

Alkatrészek átrendezása rögzítési csoportokkal

A helyettesítő sztringben használja $ a csoport számát a rögzítési csoportra való hivatkozáshoz ($1, $2).

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

Ismétlődő szóköz összecsukása

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

Érvénytelen regex minta

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