Uma expressão regular é uma sequência de caracteres que define um padrão de pesquisa. A linguagem Go oferece suporte a expressões regulares. Uma expressão regular é usada para analisar, filtrar, validar e extrair informações significativas de um texto grande, como registros, a saída gerada de outros programas, etc.
Em Go regexp, você pode criar uma string que escape de todos os metacaracteres de expressão regular em o texto especificado com a ajuda da função QuoteMeta() . A string retornada desta função é uma expressão regular que corresponde ao texto literal. Esta função é definida no pacote regexp, portanto, para acessar este método, você precisa importar o pacote regexp em seu programa.

Sintaxe:

func QuoteMeta(str string) string

Exemplo 1:

// Go program to illustrate how to create
// a string that escapes all regular
// expression metacharacters
package main
  
import (
    "fmt"
    "regexp"
)
  
// Main function
func main() {
  
    // Escaping all regular
    // expression metacharacters
    // Using QuoteMeta () function
    res1 := regexp.QuoteMeta(`String 1: .+*()|[]{}^$`)
    fmt.Println(res1)
  
    res2 := regexp.QuoteMeta(`String 2: +()*`)
    fmt.Println(res2)
  
    res3 := regexp.QuoteMeta(`String 3: []|{}$`)
    fmt.Println(res3)
  
    res4 := regexp.QuoteMeta(`String 4: ^$*-,`)
    fmt.Println(res4)
  
}

Saída:

String 1: \.\+\*\(\)\|\[\]\{\}\^\$
String 2: \+\(\)\*
String 3: \[\]\|\{\}\$
String 4: \^\$\*-,

Exemplo 2:

// Go program to illustrate how to create
// a string that escapes all regular
// expression metacharacters
package main
  
import (
    "fmt"
    "regexp"
)
  
// Main function
func main() {
  
    // Creating and initializing string
    // Using shorthand declaration
    s1 := `+*?()|[]^$`
    s2 := `+*?()|[]^$
    `
    if s1 == s2 {
  
        // Escaping all regular
        // expression metacharacters
        // Using QuoteMeta () function
        res := regexp.QuoteMeta(s1)
        fmt.Println("String:", res)
          
    } else {
  
        fmt.Println("Not Equal")
    }
  
}

Saída:

Not Equal