Heim >Backend-Entwicklung >Golang >Wie finde ich mit Go Regex alle String-Übereinstimmungen in geschweiften Klammern?

Wie finde ich mit Go Regex alle String-Übereinstimmungen in geschweiften Klammern?

Linda Hamilton
Linda HamiltonOriginal
2025-01-05 17:30:40911Durchsuche

How to Find All String Matches Within Curly Braces Using Go Regex?

Alle String-Übereinstimmungen mit Regex in Go finden

Frage:

Wie kann ich alle String-Übereinstimmungen finden und zurückgeben? treten zwischen geschweiften Klammern in einer bestimmten Eingabezeichenfolge unter Verwendung regulärer Ausdrücke in auf Los?

Lösung:

Um alle Übereinstimmungen zwischen geschweiften Klammern abzurufen, können Sie die folgenden Schritte ausführen:

  1. Entfernen Regex-Trennzeichen: Lassen Sie die Schrägstriche (/) weg, die normalerweise zum Trennen regulärer Ausdrücke verwendet werden Ausdrücke.
  2. Verwenden Sie rohe String-Literale: Erwägen Sie die Verwendung von rohen String-Literalen, um Regex-Metazeichen mit einem einzelnen Backslash zu maskieren.
  3. Optionale Capturng-Gruppe: If Sie benötigen nur den String-Inhalt zwischen geschweiften Klammern, dann können Sie auf die Erfassung verzichten Gruppe.

Beispiel für alle Übereinstimmungen:

r := regexp.MustCompile(`{[^{}]*}`)
matches := r.FindAllString("{city}, {state} {zip}", -1)

Beispiel für inneren Inhalt:

r := regexp.MustCompile(`{([^{}]*)}`)
matches := r.FindAllStringSubmatch("{city}, {state} {zip}", -1)
for _, v := range matches {
    fmt.Println(v[1])
}

Regex-Details:

  • {: A Literales Eröffnungszeichen in geschweiften Klammern.
  • ([^{}]*): Eine einfangende Gruppe, die mit einer beliebigen Folge von Zeichen (0 oder mehr) übereinstimmt, die keine geschweiften Klammern sind.
  • }: A wörtliches Schlusszeichen in geschweiften Klammern.

Das obige ist der detaillierte Inhalt vonWie finde ich mit Go Regex alle String-Übereinstimmungen in geschweiften Klammern?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn