Recherche de toutes les correspondances de chaînes à l'aide de Regex dans Go
Lorsque vous travaillez avec des chaînes dans Go, il est souvent nécessaire de trouver des modèles ou des sous-chaînes spécifiques. Les expressions régulières offrent un moyen puissant de faire correspondre et de manipuler du texte. Une tâche courante consiste à trouver toutes les correspondances d'un modèle particulier et à les stocker dans une tranche ou un tableau.
Énoncé du problème :
Étant donné une chaîne contenant des accolades entourant des sous-chaînes , le but est d'extraire toutes les sous-chaînes entre les accolades et de les renvoyer sous forme de tableau. Par exemple, étant donné la chaîne :
{city}, {state} {zip}
Nous devons renvoyer un tableau contenant :
Solution :
À pour y parvenir, nous pouvons utiliser le package regexp de Go. Cependant, il y a quelques points clés à noter lors de la définition de l'expression régulière :
Voici le code Go mis à jour :
package main import ( "fmt" "regexp" ) func main() { str := "{city}, {state} {zip}" // Define the regular expression pattern r := regexp.MustCompile(`{[^{}]*}`) // Find all matches matches := r.FindAllString(str, -1) // Print the matches for _, match := range matches { fmt.Println(match) } }
Répartition des expressions régulières :
Sortie :
{city} {state}
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!