package main
import (
"fmt"
"regexp"
)
// Function to extract words inside curly brackets
func ExtractWordsInCurlyBrackets(input string) []string {
// Define the RegEx pattern to match text inside curly brackets
regex := regexp.MustCompile(`\{([^}]+)\}`)
// Find all matches
matches := regex.FindAllStringSubmatch(input, -1)
// Extract the content inside the brackets
var results []string
for _, match := range matches {
if len(match) > 1 {
results = append(results, match[1]) // Group 1 contains the text inside the brackets
}
}
return results
}
// Function to count the words inside curly brackets
func CountCurlyBracketWords(input string) int {
words := ExtractWordsInCurlyBrackets(input)
return len(words)
}
func main() {
str := "This is a {string} with {multiple} {words} wrapped in curly brackets."
matches := ExtractWordsInCurlyBrackets(str)
fmt.Println("Matches:", matches)
totalCount := CountCurlyBracketWords(str)
fmt.Println("Total Count:", totalCount)
}
/*
run:
Matches: [string multiple words]
Total Count: 3
*/