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 mit dem einen regulären Ausdruck aus der angegebenen Zeichenfolge extrahieren Hilfe des FindString()Methode. Diese Methode gibt einen String zurück, der den Text der am weitesten links stehenden Übereinstimmung in einem gegebenen String des regulären Ausdrucks enthält. Wenn keine Übereinstimmung gefunden wird, gibt diese Methode eine leere Zeichenfolge zurück, aber sie gibt auch eine leere Zeichenfolge zurück, wenn der reguläre Ausdruck erfolgreich mit einer leeren Zeichenfolge übereinstimmt. Diese Methode 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 (re *Regexp) FindString(str string) string

Beispiel 1:

// Go program to illustrate how to find
// the regexp from the given string
  
package main
  
import (
    "fmt"
    "regexp"
)
  
// Main function
func main() {
  
    // Finding regexp from the given string
    // Using FindString() method
    m := regexp.MustCompile(`geek`)
  
    fmt.Println(m.FindString("GeeksgeeksGeeks, geeks"))
    fmt.Println(m.FindString("Hello! geeksForGEEKs"))
    fmt.Println(m.FindString("I like Go language"))
    fmt.Println(m.FindString("Hello, Welcome"))
  
}

Ausgabe:

geek
geek

Beispiel 2:

// Go program to illustrate how to find
// the regexp from the given string
package main
  
import (
    "fmt"
    "regexp"
)
  
// Main function
func main() {
  
    // Finding the regexp from the given string
    // Using Find() method
    m := regexp.MustCompile(`like.?`)
    res := m.FindString("I45, like345, Go-234 langu34age")
  
    // Finding the index value of 
    // regexp in the given string
    // UsingFindStringIndex() method
    r := m.FindStringIndex("I45, like345, Go-234 langu34age")
      
    fmt.Printf("Found: %s with index value: %d", res, r)
}

Ausgabe:

Found: like3 with index value: [5 10]