Reemplaza todas las subcadenas de un texto que coinciden con una expresión regular y devuelve el resultado como una nueva cadena.
REGEXP_REPLACE(str, pattern, replacement) devuelve un nuevo valor VARCHAR a partir de str donde cada subcadena que coincide con la expresión regular en pattern se sustituye por replacement.
Limitaciones
Solo es compatible con Realtime Compute for Apache Flink que utiliza Ververica Runtime (VVR) 3.0.0 o versiones posteriores.
Sintaxis
VARCHAR REGEXP_REPLACE(VARCHAR str, VARCHAR pattern, VARCHAR replacement)
Parámetros de entrada
|
Parámetro |
Tipo de dato |
Descripción |
|
|
VARCHAR |
La cadena de origen donde se realiza la búsqueda. |
|
|
VARCHAR |
El patrón de expresión regular que debe coincidir. |
|
|
VARCHAR |
La cadena que sustituye a cada coincidencia. |
Devuelve NULL si algún parámetro de entrada es NULL o si la expresión regular no es válida.
Notas de uso
Tanto pattern como replacement siguen la sintaxis de Java Pattern.
Al escribir patrones en SQL, los caracteres especiales requieren doble escape. El analizador sintáctico de SQL consume una barra invertida, por lo que el motor de expresiones regulares recibe el patrón correcto. Por ejemplo, para coincidir con un grupo de dígitos, utilice '(\\d+)' en lugar de '(\d+)'.
Ejemplos
A continuación se presentan ejemplos que utilizan la tabla T1 como fuente de datos:
T1
|
str1 (VARCHAR) |
pattern1 (VARCHAR) |
replace1 (VARCHAR) |
|
|
|
(cadena vacía) |
|
(cadena vacía) |
|
(cadena vacía) |
|
|
(cadena vacía) |
|
|
|
|
|
|
|
|
|
Consulta
SELECT REGEXP_REPLACE(str1, pattern1, replace1) AS `result`
FROM T1;
Resultados
|
result (VARCHAR) |
Explicación |
|
|
Reemplaza todos los guiones por una cadena vacía. |
|
(cadena vacía) |
La cadena de entrada está vacía; no hay nada que reemplazar. |
|
|
Un patrón vacío coincide con cada posición entre caracteres e inserta |
|
NULL |
|
|
|
|