Go Cheatsheet - RegExp
Regular Expression
We can use go's regexp
module for regular expression match.
Quick Match
matched, _ := regexp.MatchString("a[a-z]+e", "apple")
fmt.Println("Matched:", matched) // true
Compile then check match
r := regexp.MustCompile("a([a-z]+)e")
fmt.Println(r.MatchString("apple")) // true
fmt.Println(r.MatchString("abdomen")) // true
fmt.Println(r.MatchString("amazing")) // false
Find String
fmt.Println(r.FindString("apple")) // apple
fmt.Println(r.FindString("abdomen")) // abdome
fmt.Println(r.FindString("amazing")) // ""
Find Submatch / Match groups
fmt.Println(r.FindStringSubmatch("apple")) // [apple ppl], length-2 slice
fmt.Println(
r.FindStringSubmatch("abdomen"),
) // [abdome bdom], length-2 slice
fmt.Println(r.FindStringSubmatch("amazing")) // [], empty slice
Replace string
s := "I want some apple please"
fmt.Println(r.ReplaceAllString(s, "pear")) // I want some pear plepear
fmt.Println(r.ReplaceAllStringFunc(s, func(str string) string {
return strings.ToUpper("banana")
})) // I want some BANANA pleBANANA