re.capture
re.capture(stringText, regex)
Descrição
Captura (extrai) dados de uma string através do padrão de expressão regular fornecido no argumento.
Esta função recebe dois argumentos:
stringText
: a string original a pesquisar.regex
: a expressão regular que indica o padrão a pesquisar.
A expressão regular pode conter 0 ou 1 grupos de captura entre parênteses. Se a expressão regular contiver 0 grupos de captura, a função devolve a primeira substring correspondente completa. Se a expressão regular contiver 1 grupo de captura, devolve a primeira substring correspondente para o grupo de captura. A definição de dois ou mais grupos de captura devolve um erro do compilador.
Tipos de dados de parâmetros
STRING
, STRING
Tipo devolvido
STRING
Exemplos de código
Exemplo 1
Neste exemplo, se $e.principal.hostname
contiver "aaa1bbaa2", o seguinte seria verdadeiro, porque a função devolve a primeira instância. Este exemplo não tem grupos de captura.
"aaa1" = re.capture($e.principal.hostname, "a+[1-9]")
Exemplo 2
Este exemplo captura tudo o que está após o símbolo @ num email. Se o campo $e.network.email.from
for test@google.com
, o exemplo devolve google.com
. O exemplo seguinte contém um grupo de captura.
"google.com" = re.capture($e.network.email.from , "@(.*)")
Exemplo 3
Se a expressão regular não corresponder a nenhuma substring no texto, a função devolve uma string vazia. Pode omitir eventos em que não ocorra nenhuma correspondência
excluindo a string vazia, o que é especialmente importante quando está a usar
re.capture()
com uma desigualdade:
// Exclude the empty string to omit events where no match occurs.
"" != re.capture($e.network.email.from , "@(.*)")
// Exclude a specific string with an inequality.
"google.com" != re.capture($e.network.email.from , "@(.*)")