How to match words in a string that are wrapped in curly brackets using RegEx with Go

1 Answer

0 votes
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

*/

 



answered Mar 18 by avibootz
...