re.capture

Supportato in:
re.capture(stringText, regex)

Descrizione

Acquisisce (estrae) i dati da una stringa utilizzando il pattern di espressione regolare fornito nell'argomento.

Questa funzione accetta due argomenti:

  • stringText: la stringa originale da cercare.
  • regex: l'espressione regolare che indica il pattern da cercare.

L'espressione regolare può contenere 0 o 1 gruppi di acquisizione tra parentesi. Se l'espressione regolare contiene 0 gruppi di acquisizione, la funzione restituisce la prima sottostringa corrispondente intera. Se l'espressione regolare contiene un gruppo Capture, restituisce la prima sottostringa corrispondente per il gruppo Capture. La definizione di due o più gruppi di acquisizione restituisce un errore del compilatore.

Tipi di dati dei parametri

STRING, STRING

Tipo restituito

STRING

Esempi di codice

Esempio 1

In questo esempio, se $e.principal.hostname contiene "aaa1bbaa2", la seguente condizione è vera perché la funzione restituisce la prima istanza. Questo esempio non ha gruppi di acquisizione.

"aaa1" = re.capture($e.principal.hostname, "a+[1-9]")
Esempio 2

Questo esempio acquisisce tutto ciò che segue il simbolo @ in un'email. Se il campo $e.network.email.from è test@google.com, l'esempio restituisce google.com. L'esempio seguente contiene un gruppo di acquisizione.

"google.com" = re.capture($e.network.email.from , "@(.*)")
Esempio 3

Se l'espressione regolare non corrisponde ad alcuna sottostringa nel testo, la funzione restituisce una stringa vuota. Puoi omettere gli eventi in cui non si verifica alcuna corrispondenza escludendo la stringa vuota, il che è particolarmente importante quando utilizzi re.capture() con una disuguaglianza:

// 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 , "@(.*)")