re.replace

Supportato in:
re.replace(stringText, replaceRegex, replacementText)

Descrizione

Esegue una sostituzione di espressioni regolari.

Questa funzione accetta tre argomenti:

  • stringText: la stringa originale.
  • replaceRegex: l'espressione regolare che indica il pattern da cercare.
  • replacementText: il testo da inserire in ogni corrispondenza.

Restituisce una nuova stringa derivata dalla stringa stringText originale, in cui tutte le sottostringhe che corrispondono al pattern in replaceRegex vengono sostituite con il valore in replacementText. Puoi utilizzare cifre con una barra rovesciata come carattere di escape (da \1 a \9) all'interno di replacementText per inserire il testo corrispondente al gruppo racchiuso tra parentesi nel pattern replaceRegex. Utilizza \0 per fare riferimento all'intero testo corrispondente.

La funzione sostituisce le corrispondenze non sovrapposte e dà la priorità alla sostituzione della prima occorrenza trovata. Ad esempio, re.replace("banana", "ana", "111") restituisce la stringa "b111na".

Tipi di dati dei parametri

STRING, STRING, STRING

Tipo restituito

STRING

Esempi di codice

Esempio 1

Questo esempio acquisisce tutto ciò che segue il simbolo @ in un'email, sostituisce com con org e poi restituisce il risultato. Nota l'utilizzo di funzioni nidificate.

"email@google.org" = re.replace($e.network.email.from, "com", "org")
Esempio 2

Questo esempio utilizza cifre con interpretazione letterale a una barra rovesciata nell'argomento replacementText per fare riferimento alle corrispondenze con il pattern 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"
                     )
Esempio 3

Tieni presente i seguenti casi quando gestisci stringhe vuote e re.replace():

Utilizzo della stringa vuota come 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")

Per sostituire una stringa vuota, puoi utilizzare "^$" come replaceRegex:

// In the function call below, if $e.principal.hostname contains the empty
// string, "", the result is: "none".
re.replace($e.principal.hostname, "^$", "none")