re.capture
re.capture(stringText, regex)
Descripción
Captura (extrae) datos de una cadena con el patrón de expresión regular proporcionado en el argumento.
Esta función toma dos argumentos:
stringText
: Es la cadena original en la que se realizará la búsqueda.regex
: Es la expresión regular que indica el patrón que se debe buscar.
La expresión regular puede contener 0 o 1 grupos de captura entre paréntesis. Si la expresión regular contiene 0 grupos de captura, la función devuelve la primera substring coincidente completa. Si la expresión regular contiene 1 grupo de captura, devuelve la primera substring coincidente para el grupo de captura. Si se definen dos o más grupos de captura, se muestra un error del compilador.
Tipos de datos de parámetros
STRING
, STRING
Tipo de datos que se muestra
STRING
Muestras de código
Ejemplo 1
En este ejemplo, si $e.principal.hostname
contiene "aaa1bbaa2", lo siguiente sería verdadero, ya que la función devuelve la primera instancia. Este ejemplo no tiene grupos de captura.
"aaa1" = re.capture($e.principal.hostname, "a+[1-9]")
Ejemplo 2
En este ejemplo, se captura todo lo que se encuentra después del símbolo @ en un correo electrónico. Si el campo $e.network.email.from
es test@google.com
, el ejemplo devuelve google.com
. El siguiente ejemplo contiene un grupo de captura.
"google.com" = re.capture($e.network.email.from , "@(.*)")
Ejemplo 3
Si la expresión regular no coincide con ninguna substring del texto, la función devuelve una cadena vacía. Puedes omitir los eventos en los que no se produce ninguna coincidencia excluyendo la cadena vacía, lo que es especialmente importante cuando usas re.capture()
con una desigualdad:
// 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 , "@(.*)")