re.replace

Compatible avec :
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")