re.capture
re.capture(stringText, regex)
Descrição
Captura (extrai) dados de uma string usando o padrão de expressão regular fornecido no argumento.
Essa função usa dois argumentos:
stringText
: a string original a ser pesquisada.regex
: a expressão regular que indica o padrão a ser pesquisado.
A expressão regular pode conter 0 ou 1 grupo de captura entre parênteses. Se a expressão regular contiver zero grupos de captura, a função retornará a primeira substring correspondente inteira. Se a expressão regular contiver um grupo de captura, ela vai retornar a primeira substring correspondente a esse grupo. Definir dois ou mais grupos de captura retorna um erro do compilador.
Tipos de dados de parâmetros
STRING
, STRING
Tipo de retorno
STRING
Amostras de código
Exemplo 1
Neste exemplo, se $e.principal.hostname
contiver "aaa1bbaa2", o seguinte será verdadeiro porque a função
retorna 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 depois do símbolo @ em um e-mail. Se o campo
$e.network.email.from
for test@google.com
, o exemplo vai retornar
google.com
. O exemplo a seguir 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 vai retornar uma string vazia. Você pode omitir eventos em que não há correspondência excluindo a string vazia, o que é especialmente importante quando você usa 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 , "@(.*)")