Find. With regexp we are often trying to find strings within a larger string. We use patterns (passed to MustCompile) to determine which values match.
To use Find, we must have byte slices. This is inconvenient in some programs. We can use a method like FindAllString instead, to operate directly on strings.
Find example. Here we use Find. We try to find a 3-digit sequence that begins with the value 2. The Find method returns the leftmost matching sequence as a byte slice.
Important With byte slices, we must convert them back to strings before printing them. This can be annoying.
package main
import (
"fmt""regexp"
)
func main() {
// Match 3-digit values starting with 2.
re := regexp.MustCompile("2\\d\\d")
// Use find to get leftmost match.
result := re.Find([]byte("123 124 125 205 211"))
// Convert back to string and print it.
fmt.Println(string(result))
}205
FindAllString. This func finds multiple matches of a pattern within a string. It returns the values in a slice—we can loop over it with a for-loop.
Info We operate directly on strings with FindAllString. The results are in a slice of strings, so we can print them with no conversion.
package main
import (
"fmt""regexp"
)
func main() {
// Match 3-char values starting with digit 1.
re := regexp.MustCompile("1..")
// Find and loop over all matching strings.
results := re.FindAllString("123 124 125 200 211", -1)
for i := range(results) {
fmt.Println(results[i])
}
}123
124
125
With Find methods, we perform a search within the source string—the entire string is not matched as in MatchString(). We can test matches in a for-loop after the method call.
Dot Net Perls is a collection of pages with code examples, which are updated to stay current. Programming is an art, and it can be learned from examples.
Donate to this site to help offset the costs of running the server. Sites like this will cease to exist if there is no financial support for them.
Sam Allen is passionate about computer languages, and he maintains 100% of the material available on this website. He hopes it makes the world a nicer place.
This page was last updated on Sep 23, 2024 (edit).