Función regexp_replace

Se aplica a:casilla marcada como Sí Databricks SQL casilla marcada como Sí Databricks Runtime

Reemplaza todas las subcadenas de str que coinciden regexp con rep.

Sintaxis

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

Argumentos

  • str: expresión STRING que se va a comparar.
  • regexp: expresión STRING con un patrón de comparación.
  • rep: expresión STRING que es la cadena de reemplazo.
  • position: literal numérico entero opcional mayor que 0, que indica dónde empezar la comparación. El valor predeterminado es 1.

Devoluciones

STRING.

La regexp cadena debe ser una expresión regular. Consulte Expresiones regulares para obtener la sintaxis admitida.

Al usar literales, utilice raw-literal (prefijo r) para evitar el procesamiento previo de caracteres de escape.

La búsqueda comienza en position. El valor predeterminado es 1, que marca el principio de str. Si position supera la longitud de caracteres de str, el resultado es str.

Condiciones de error comunes

Ejemplos

Reemplazar todas las coincidencias por texto fijo

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

Enmascarar dígitos

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

Reordenar partes mediante grupos de captura

En la cadena de reemplazo, use $ seguido del número de grupo para hacer referencia a un grupo de captura ($1, $2).

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

Contraer espacios en blanco repetidos

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

Patrón regex no válido

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