re.replace
re.replace(stringText, replaceRegex, replacementText)
Description
Effectue un remplacement d'expression régulière.
Cette fonction utilise trois arguments :
stringText
: chaîne d'origine.replaceRegex
: expression régulière indiquant le modèle à rechercher.replacementText
: texte à insérer dans chaque correspondance.
Renvoie une nouvelle chaîne dérivée de la chaîne stringText
d'origine, dans laquelle toutes les sous-chaînes correspondant au modèle de replaceRegex
sont remplacées par la valeur de replacementText
. Vous pouvez utiliser des chiffres échappés par une barre oblique inverse (\1
à \9
) dans replacementText
pour insérer du texte associé au groupe entre parenthèses correspondant dans le schéma replaceRegex
. Utilisez \0
pour faire référence à l'ensemble du texte correspondant.
La fonction remplace les correspondances qui ne se chevauchent pas et donne la priorité au remplacement de la première occurrence trouvée. Par exemple, re.replace("banana", "ana", "111")
renvoie la chaîne "b111na".
Types de données des paramètres
STRING
, STRING
, STRING
Type renvoyé
STRING
Exemples de code
Exemple 1
Cet exemple capture tout ce qui se trouve après le symbole @
dans une adresse e-mail, remplace com
par org
, puis renvoie le résultat. Notez l'utilisation de fonctions imbriquées.
"email@google.org" = re.replace($e.network.email.from, "com", "org")
Exemple 2
Cet exemple utilise des chiffres échappés par une barre oblique inverse dans l'argument replacementText
pour faire référence aux correspondances avec le modèle replaceRegex
.
"test1.com.google" = re.replace(
$e.principal.hostname, // holds "test1.test2.google.com"
"test2\.([a-z]*)\.([a-z]*)",
"\\2.\\1" // \\1 holds "google", \\2 holds "com"
)
Exemple 3
Notez les cas suivants lorsque vous traitez des chaînes vides et re.replace()
:
Utiliser une chaîne vide comme replaceRegex
:
// In the function call below, if $e.principal.hostname contains "name",
// the result is: 1n1a1m1e1, because an empty string is found next to
// every character in `stringText`.
re.replace($e.principal.hostname, "", "1")
Pour remplacer une chaîne vide, vous pouvez utiliser "^$"
comme replaceRegex
:
// In the function call below, if $e.principal.hostname contains the empty
// string, "", the result is: "none".
re.replace($e.principal.hostname, "^$", "none")