package main
import (
"fmt"
"regexp"
)
// Function to extract content between specified tags
func extractContentBetweenTags(str string, tagName string) string {
// Build a regex pattern using the specified tag name
pattern := fmt.Sprintf("<%s>(.*?)</%s>", tagName, tagName)
// Compile the regex pattern
regex := regexp.MustCompile(pattern)
// Find the first match
match := regex.FindStringSubmatch(str)
if len(match) > 1 {
// Return the content inside the tags
return match[1]
}
// Return an empty string if no match is found
return ""
}
func main() {
str := "abcd <tag>efg hijk lmnop</tag> qrst uvwxyz"
// Call the function to extract the substring
content := extractContentBetweenTags(str, "tag")
if content != "" {
fmt.Printf("Extracted content: %s\n", content)
} else {
fmt.Println("No matching tags found.")
}
}
/*
run:
Extracted content: efg hijk lmnop
*/