Ejemplo de uso
REGEXP_REPLACE(Campaña, '(Rebajas):(Verano)', '\\2 \\1')
Sintaxis
REGEXP_REPLACE(X, regular_expression, replacement)
Parámetros
X
: campo o expresión que incluye un camporegular_expression:
expresión regular que coincide con una parte defield_expression
replacement
: el texto con el que se sustituye la parte defield_expression
que coincide
Devoluciones
La función REGEXP_REPLACE devuelve valores de tipo texto
.
Notas
REGEXP_REPLACE
devuelve texto donde todas las cadenas secundarias de X
que coinciden con regular_expression
se sustituyen por replacement
.
Puedes usar dígitos de escape con barras inversas (\1 a \9) dentro del argumento replacement
para insertar texto que coincida con el correspondiente grupo entre paréntesis en el patrón regular_expression
. Usa \0 para referirte a todo el texto coincidente.
Para añadir una barra inversa en la expresión regular, primero debe aplicársele un carácter de escape. Por ejemplo, SELECT REGEXP_REPLACE('abc', 'b(.)', 'X\\1');
devuelve aXc
. También puedes usar cadenas sin formato para quitar una capa de escape; por ejemplo, SELECT REGEXP_REPLACE('abc', 'b(.)', r'X\1');
.
La función REGEXP_REPLACE
solo sustituye las coincidencias que no se superponen. Por ejemplo, si sustituyes ana
en banana
, solo se produce una sustitución, no dos.
Ejemplos
Ejemplo de fórmula | Entrada | Salida |
REGEXP_REPLACE(LOWER(Campaña), ".bc123", "Verano Rebajas") |
abc123 ABC123 BBC123 |
Verano Rebajas |
REGEXP_REPLACE(Campaña, '(.*):(.*)', '\\2 \\1') |
Rebajas:Verano Rebajas:Invierno |
Verano Rebajas Invierno Rebajas |