Las funciones de expresiones regulares extraen, comparan, reemplazan y dividen valores de cadena mediante patrones regex en las reglas de transformación de datos.
Lista de funciones
|
Categoría |
Función |
Descripción |
|
Función de extracción de valores |
Extrae un valor que coincide con una expresión regular. |
|
|
Devuelve una lista con todos los valores que coinciden con una expresión regular. |
||
|
Coincidencia |
Comprueba si un valor coincide con una expresión regular. |
|
|
Reemplazo |
Reemplaza caracteres específicos en una cadena según una expresión regular. |
|
|
División |
Divide una cadena en un arreglo de cadenas. |
regex_select
Extrae un valor que coincide con una expresión regular.
-
Sintaxis
regex_select(value, r"regular expression", mi=None, gi=None) -
Parámetros
Nombre del parámetro
Tipo de parámetro
Obligatorio
Descripción
value
any
Sí
El valor que se va a comparar.
regular expression
String
Sí
La expresión regular para la coincidencia.
mi
int
No
El índice de la coincidencia que se devolverá. El valor predeterminado es None o 0, lo cual devuelve la primera coincidencia.
gi
int
No
El índice del grupo de captura que se devolverá. El valor predeterminado es None o 0, lo cual devuelve el primer grupo.
-
Respuesta
Devuelve el valor coincidente.
-
Ejemplos
-
Ejemplo 1: Extraer el primer valor del campo str que coincide con la expresión regular.
-
Registro sin procesar
str: iZbp1a65x3r1vhpe94fi2qZ -
Regla de transformación
e_set("regex", regex_select(v("str"), r"\d+")) e_set("regex2", regex_select(v("str"), r"\d+", mi=None)) e_set("regex3", regex_select(v("str"), r"\d+", mi=0)) -
Resultado
regex:1 regex2:1 regex3:1 str:iZbp1a65x3r1vhpe94fi2qZ
-
-
Ejemplo 2: Extraer el primer y segundo valor del campo str que coinciden con la expresión regular.
-
Registro sin procesar
str: abc123 xyz456 -
Regla de transformación
# Extract the first value from the str field that matches the regular expression. e_set("regex", regex_select(v("str"), r"\d+")) # Extract the second value from the str field that matches the regular expression. e_set("regex2", regex_select(v("str"), r"\d+", mi=1)) -
Resultado
regex: 123 regex2: 456 str: abc123 xyz456
-
-
Ejemplo 3
-
Registro sin procesar
str: abc123 xyz456 -
Regla de transformación
# Extract the value of the first group from the first expression in the str field that matches the regular expression. e_set("regex", regex_select(v("str"),r"[a-z]+(\d+)",gi=0)) # Extract the value of the first group from the second expression in the str field that matches the regular expression. e_set("regex2", regex_select(v("str"),r"[a-z]+(\d+)",mi=1,gi=0)) # Extract the value of the first group from the first expression in the str field that matches the regular expression. e_set("regex3", regex_select(v("str"),r"([a-z]+)(\d+)",gi=0)) # Extract the value of the second group from the first expression in the str field that matches the regular expression. e_set("regex4", regex_select(v("str"),r"([a-z]+)(\d+)",gi=1)) -
Resultado
str: abc123 xyz456 regex: 123 regex2: 456 regex3: abc regex4: 123
-
-
regex_findall
Devuelve un arreglo con todos los valores que coinciden con una expresión regular.
-
Sintaxis
regex_findall(value, r"regular expression") -
Parámetros
Nombre del parámetro
Tipo de parámetro
Obligatorio
Descripción
value
any
Sí
El valor que se va a comparar.
regular expression
String
Sí
La expresión regular.
-
Respuesta
Devuelve una lista con todos los valores coincidentes.
-
Ejemplos
Extraiga todos los números del campo str:
-
Registro sin procesar
str: iZbp1a65x3r1vhpe94fi2qZ -
Regla de transformación
e_set("regex_findall", regex_findall(v("str"),r"\d+")) -
Resultado
str: iZbp1a65x3r1vhpe94fi2qZ regex_findall: ["1", "65", "3", "1", "94", "2"]
-
regex_match
Comprueba si un valor coincide con una expresión regular.
-
Sintaxis
regex_match(value, r"regular expression", full=False) -
Parámetros
Nombre del parámetro
Tipo de parámetro
Obligatorio
Descripción
value
any
Sí
El valor que se va a comparar.
regular expression
string
Sí
La expresión regular.
full
Bool
No
Especifica si se requiere una coincidencia completa. El valor predeterminado es False.
-
Respuesta
Devuelve true o false para indicar si el valor coincide.
-
Ejemplos
Compruebe si el campo str contiene números:
-
Registro sin procesar
str: iZbp1a65x3r1vhpe94fi2qZ -
Regla de transformación
# Check whether the str field contains numbers. e_set("regex_match", regex_match(v("str"),r"\d+")) # Check whether the str field consists of only numbers. e_set("regex_match2", regex_match(v("str"),r"\d+",full=True)) -
Resultado
str: iZbp1a65x3r1vhpe94fi2qZ regex_match: true regex_match2: false
-
regex_replace
Reemplaza caracteres específicos en una cadena según una expresión regular.
-
Sintaxis
regex_replace(value, r"regular expression", replace="", count=0) -
Parámetros
Nombre del parámetro
Tipo de parámetro
Obligatorio
Descripción
value
any
Sí
El valor que se va a reemplazar.
regular expression
string
Sí
La expresión regular.
replace
string
No
La cadena de reemplazo. El valor predeterminado es una cadena vacía, lo cual elimina los caracteres coincidentes.
Se admiten expresiones regulares. Por ejemplo,
r"\1****\2"especifica que la cadena de reemplazo utiliza referencias a grupos de captura.-
\1representa el primer grupo. -
\2representa el segundo grupo.
count
Number
No
El número de reemplazos. El valor predeterminado es 0, lo cual reemplaza todas las coincidencias.
-
-
Respuesta
La cadena después del reemplazo.
-
Ejemplos
-
Ejemplo 1: Reemplazar todos los números en el campo str por 13.
-
Registro sin procesar
str: iZbp1a65x3r1vhpe94fi2qZ replace: 13 -
Regla de transformación
e_set("regex_replace", regex_replace(v("str"),r"\d+",v("replace"))) -
Resultado
str: iZbp1a65x3r1vhpe94fi2qZ replace: 13 regex_replace: iZbp13a13x13r13vhpe13fi13qZ
-
-
Ejemplo 2: Enmascarar los cuatro dígitos centrales de un número de celular.
-
Registro sin procesar
iphone: 13900001234 -
Regla de transformación
e_set( "sec_iphone", regex_replace(v("iphone"), r"(\d{0,3})\d{4}(\d{4})", replace=r"\1****\2"), )Notareplace=r"\1****\2"indica que la cadena de reemplazo tiene el formator"\1****\2".\1representa el primer grupo, que es(\d{0,3}).\2representa el segundo grupo, que es(\d{4}).
-
Resultado
iphone: 13900001234 sec_iphone: 139****1234
-
-
regex_split
Divide una cadena en un arreglo de cadenas.
-
Sintaxis
regex_split(value, r"regular expression", maxsplit=0) -
Parámetros
Nombre del parámetro
Tipo de parámetro
Obligatorio
Descripción
value
any
Sí
El valor que se va a dividir.
regular expression
string
Sí
La expresión regular.
maxsplit
int
No
El número máximo de divisiones. El valor predeterminado es 0, lo cual divide la cadena en todas las coincidencias. Un valor de 1 divide solo en la primera coincidencia.
-
Respuesta
Un arreglo con las subcadenas resultantes.
-
Ejemplos
Divida el campo str por números:
-
Registro sin procesar
str: iZbp1a65x3r1vhpe94fi2qZ -
Regla de transformación
e_set("regex_split", regex_split(v("str"),r"\d+")) -
Resultado
str: iZbp1a65x3r1vhpe94fi2qZ regex_split: ["iZbp", "a", "x", "r", "vhpe", "fi", "qZ"]
-