Récupérer les correspondances de chaînes avec des expressions régulières dans Go
Dans Go, le package regexp offre la possibilité de rechercher des correspondances dans des chaînes en fonction des expressions. Ce guide illustre comment extraire un tableau de correspondances d'une chaîne donnée contenant des segments spécifiques entourés d'accolades.
Problème :
Vous disposez d'une chaîne contenant ce qui suit pattern :
{city}, {state} {zip}
Votre objectif est d'obtenir un tableau contenant toutes les sous-chaînes qui apparaissent entre les accolades. Malgré l'utilisation du package regexp, vous rencontrez des difficultés pour obtenir le résultat souhaité.
Solution :
Pour résoudre ce problème, envisagez les étapes suivantes :
Pour récupérer toutes les correspondances, utilisez FindAllString :
r := regexp.MustCompile(`{[^{}]*}`) matches := r.FindAllString("{city}, {state} {zip}", -1)
Pour capturer uniquement les parties entre les boucles accolades, utilisez FindAllStringSubmatch avec un modèle contenant des parenthèses de capture :
r := regexp.MustCompile(`{([^{}]*)}`) matches := r.FindAllStringSubmatch("{city}, {state} {zip}", -1) for _, v := range matches { fmt.Println(v[1]) }
Regex Répartition :
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!