Golang | Erstellen einer Zeichenfolge, die Regexp-Metazeichen enthält
Ein regulärer Ausdruck ist eine Folge von Zeichen, die ein Suchmuster definieren. Die Go-Sprache unterstützt reguläre Ausdrücke. Ein regulärer Ausdruck wird zum Analysieren, Filtern, Validieren und Extrahieren aussagekräftiger Informationen aus großem Text wie Protokollen, der von anderen Programmen generierten Ausgabe usw. verwendet.
In Go regexp können Sie eine Zeichenfolge erstellen, die alle Metazeichen regulärer Ausdrücke maskiert den angegebenen Text mit Hilfe der Funktion QuoteMeta() . Die zurückgegebene Zeichenfolge dieser Funktion ist ein regulärer Ausdruck, der mit dem Literaltext übereinstimmt. Diese Funktion ist unter dem regexp-Paket definiert, sodass Sie für den Zugriff auf diese Methode das regexp-Paket in Ihr Programm importieren müssen.
Syntax:
func QuoteMeta(str string) string
Beispiel 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) }
Ausgabe:
String 1: \.\+\*\(\)\|\[\]\{\}\^\$ String 2: \+\(\)\* String 3: \[\]\|\{\}\$ String 4: \^\$\*-,
Beispiel 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") } }
Ausgabe:
Not Equal