re.capture
re.capture(stringText, regex)
Description
Capture (extrait) les données d'une chaîne à l'aide du modèle d'expression régulière fourni dans l'argument.
Cette fonction utilise deux arguments :
stringText: chaîne d'origine à rechercher.regex: expression régulière indiquant le modèle à rechercher.
L'expression régulière peut contenir 0 ou 1 groupe de capture entre parenthèses. Si l'expression régulière ne contient aucun groupe de capture, la fonction renvoie la première sous-chaîne correspondante entière. Si l'expression régulière contient un groupe de capture, elle renvoie la première sous-chaîne correspondante pour ce groupe. Définir deux groupes de capture ou plus renvoie une erreur du compilateur.
Types de données des paramètres
STRING – STRING
Type renvoyé
STRING
Exemples de code
Exemple 1
Dans cet exemple, si $e.principal.hostname contient "aaa1bbaa2", la valeur suivante sera "true", car la fonction renvoie la première instance. Cet exemple ne comporte aucun groupe de capture.
"aaa1" = re.capture($e.principal.hostname, "a+[1-9]")
Exemple 2
Cet exemple capture tout ce qui se trouve après le symbole @ dans une adresse e-mail. Si le champ $e.network.email.from est test@google.com, l'exemple renvoie google.com. L'exemple suivant contient un groupe de capture.
"google.com" = re.capture($e.network.email.from , "@(.*)")
Exemple 3
Si l'expression régulière ne correspond à aucune sous-chaîne du texte, la fonction renvoie une chaîne vide. Vous pouvez omettre les événements pour lesquels aucune correspondance n'est trouvée en excluant la chaîne vide. Cela est particulièrement important lorsque vous utilisez re.capture() avec une inégalité :
// 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 , "@(.*)")