As funções de expressão regular extraem, verificam correspondências, substituem e dividem valores de string com base em padrões regex nas regras de transformação de dados.
Lista de funções
|
Categoria |
Função |
Descrição |
|
Extração de valor |
Extrai um valor que corresponde a uma expressão regular. |
|
|
Retorna uma lista com todos os valores que correspondem a uma expressão regular. |
||
|
Correspondência |
Verifica se um valor corresponde a uma expressão regular. |
|
|
Substituição |
Substitui caracteres especificados em uma string com base em uma expressão regular. |
|
|
Divisão |
Divide uma string em um array de strings. |
regex_select
Extrai um valor que corresponde a uma expressão regular.
-
Sintaxe
regex_select(value, r"regular expression", mi=None, gi=None) -
Parâmetros
Nome do parâmetro
Tipo do parâmetro
Obrigatório
Descrição
value
any
Sim
Valor a ser verificado.
regular expression
String
Sim
Expressão regular usada na verificação.
mi
int
Não
Índice da correspondência a retornar. O valor padrão é None ou 0, que retorna a primeira correspondência.
gi
int
Não
Índice do grupo de captura a retornar. O valor padrão é None ou 0, que retorna o primeiro grupo.
-
Resposta
Retorna o valor correspondente.
-
Exemplos
-
Exemplo 1: Extrair o primeiro valor do campo str que corresponde à expressão regular.
-
Log bruto
str: iZbp1a65x3r1vhpe94fi2qZ -
Regra de transformação
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
-
-
Exemplo 2: Extrair o primeiro e o segundo valores do campo str que correspondem à expressão regular.
-
Log bruto
str: abc123 xyz456 -
Regra de transformação
# 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
-
-
Exemplo 3
-
Log bruto
str: abc123 xyz456 -
Regra de transformação
# 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
Retorna um array com todos os valores que correspondem a uma expressão regular.
-
Sintaxe
regex_findall(value, r"regular expression") -
Parâmetros
Nome do parâmetro
Tipo do parâmetro
Obrigatório
Descrição
value
any
Sim
Valor a ser verificado.
regular expression
String
Sim
Expressão regular.
-
Resposta
Retorna uma lista com todos os valores correspondentes.
-
Exemplos
Extrair todos os números do campo str:
-
Log bruto
str: iZbp1a65x3r1vhpe94fi2qZ -
Regra de transformação
e_set("regex_findall", regex_findall(v("str"),r"\d+")) -
Resultado
str: iZbp1a65x3r1vhpe94fi2qZ regex_findall: ["1", "65", "3", "1", "94", "2"]
-
regex_match
Verifica se um valor corresponde a uma expressão regular.
-
Sintaxe
regex_match(value, r"regular expression", full=False) -
Parâmetros
Nome do parâmetro
Tipo do parâmetro
Obrigatório
Descrição
value
any
Sim
Valor a ser verificado.
regular expression
string
Sim
Expressão regular.
full
Bool
Não
Define se é necessária uma correspondência completa. O valor padrão é False.
-
Resposta
Retorna true ou false para indicar se há correspondência.
-
Exemplos
Verificar se o campo str contém números:
-
Log bruto
str: iZbp1a65x3r1vhpe94fi2qZ -
Regra de transformação
# 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
Substitui caracteres especificados em uma string com base em uma expressão regular.
-
Sintaxe
regex_replace(value, r"regular expression", replace="", count=0) -
Parâmetros
Nome do parâmetro
Tipo do parâmetro
Obrigatório
Descrição
value
any
Sim
Valor a ser substituído.
regular expression
string
Sim
Expressão regular.
replace
string
Não
String de substituição. O valor padrão é uma string vazia, que exclui os caracteres correspondentes.
Há suporte a expressões regulares. Por exemplo,
r"\1****\2"indica que a string de substituição usa referências de grupos de captura.-
\1representa o primeiro grupo. -
\2representa o segundo grupo.
count
Number
Não
Número de substituições. O valor padrão é 0, que substitui todas as correspondências.
-
-
Resposta
String após a substituição.
-
Exemplos
-
Exemplo 1: Substituir todos os números no campo str por 13.
-
Log bruto
str: iZbp1a65x3r1vhpe94fi2qZ replace: 13 -
Regra de transformação
e_set("regex_replace", regex_replace(v("str"),r"\d+",v("replace"))) -
Resultado
str: iZbp1a65x3r1vhpe94fi2qZ replace: 13 regex_replace: iZbp13a13x13r13vhpe13fi13qZ
-
-
Exemplo 2: Mascarar os quatro dígitos centrais de um número de telefone celular.
-
Log bruto
iphone: 13900001234 -
Regra de transformação
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 a string de substituição tem o formator"\1****\2".\1representa o primeiro grupo, que é(\d{0,3}).\2representa o segundo grupo, que é(\d{4}).
-
Resultado
iphone: 13900001234 sec_iphone: 139****1234
-
-
regex_split
Divide uma string em um array de strings.
-
Sintaxe
regex_split(value, r"regular expression", maxsplit=0) -
Parâmetros
Nome do parâmetro
Tipo do parâmetro
Obrigatório
Descrição
value
any
Sim
Valor a ser dividido.
regular expression
string
Sim
Expressão regular.
maxsplit
int
Não
Número máximo de divisões. O valor padrão é 0, que divide a string em todas as correspondências. O valor 1 divide apenas na primeira correspondência.
-
Resposta
Array das substrings resultantes.
-
Exemplos
Dividir o campo str por números:
-
Log bruto
str: iZbp1a65x3r1vhpe94fi2qZ -
Regra de transformação
e_set("regex_split", regex_split(v("str"),r"\d+")) -
Resultado
str: iZbp1a65x3r1vhpe94fi2qZ regex_split: ["iZbp", "a", "x", "r", "vhpe", "fi", "qZ"]
-