Regexp Find ExamplesUse the Find and FindAllString funcs on regexp. Loop over the results.
This page was last reviewed on Aug 4, 2023.
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)) }
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.
Detail 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
A review. 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 tested code examples. Pages are continually updated to stay current, with code correctness a top priority.
Sam Allen is passionate about computer languages. In the past, his work has been recommended by Apple and Microsoft and he has studied computers at a selective university in the United States.
No updates found for this page.
© 2007-2023 Sam Allen.