Maison >développement back-end >Golang >Comment puis-je trouver efficacement des modèles qui se chevauchent dans des chaînes Go sans expressions régulières ?
Surmonter les modèles qui se chevauchent dans Golang
Malgré les limites des expressions régulières dans la gestion des correspondances qui se chevauchent, il existe des alternatives pour extraire les modèles qui se chevauchent dans Golang. Bien que les expressions complexes puissent être tentantes, elles conduisent souvent à des complexités et à des inefficacités inutiles.
Une approche efficace consiste à utiliser la nature intuitive des chaînes d'index et d'une boucle for. Par exemple, pour trouver les indices du modèle "..#..", vous pouvez parcourir la chaîne d'entrée à l'aide de strings.Index et accumuler les indices dans une liste.
input := "...#...#....#.....#..#..#..#......." idx := []int{} j := 0 for { i := strings.Index(input[j:], "..#..") if i == -1 { break } fmt.Println(j) idx = append(idx, j+i) j += i+1 } fmt.Println("Indexes:", idx)
Cette approche simplifie le processus de correspondance, offre un meilleur contrôle sur les correspondances et améliore l'efficacité en évitant les opérations d'expression régulière inutiles. La nature simple de la boucle facilite la gestion de divers modèles et combinaisons de cordes.
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!