Commit 5253a6dc authored by Liz Rice's avatar Liz Rice Committed by Ian Lance Taylor

regexp: add more examples for Regexp methods

Since I first started on this CL, most of the methods have had examples
added by other folks, so this is now one new example, and additions to
two existing examples for extra clarity.

The issue has a comment about not necessarily having examples for all
methods, but I recall finding this package pretty confusing when I first
used it, and having concrete examples would have really helped me
navigate all the different options. There are more
String methods with examples now, but I think seeing how the byte-slice
methods work could also be helpful to explain the differences.

Updates #21450

Change-Id: I27b4eeb634fb8ab59f791c0961cce79a67889826
Reviewed-on: https://go-review.googlesource.com/c/go/+/120145Reviewed-by: default avatarDaniel Martí <mvdan@mvdan.cc>
Reviewed-by: default avatarIan Lance Taylor <iant@golang.org>
Run-TryBot: Daniel Martí <mvdan@mvdan.cc>
TryBot-Result: Gobot Gobot <gobot@golang.org>
parent 09824ccf
...@@ -94,9 +94,11 @@ func ExampleRegexp_FindSubmatch() { ...@@ -94,9 +94,11 @@ func ExampleRegexp_FindSubmatch() {
func ExampleRegexp_Match() { func ExampleRegexp_Match() {
re := regexp.MustCompile(`foo.?`) re := regexp.MustCompile(`foo.?`)
fmt.Println(re.Match([]byte(`seafood fool`))) fmt.Println(re.Match([]byte(`seafood fool`)))
fmt.Println(re.Match([]byte(`something else`)))
// Output: // Output:
// true // true
// false
} }
func ExampleRegexp_FindString() { func ExampleRegexp_FindString() {
...@@ -182,9 +184,13 @@ func ExampleRegexp_MatchString() { ...@@ -182,9 +184,13 @@ func ExampleRegexp_MatchString() {
} }
func ExampleRegexp_NumSubexp() { func ExampleRegexp_NumSubexp() {
re0 := regexp.MustCompile(`a.`)
fmt.Printf("%d\n", re0.NumSubexp())
re := regexp.MustCompile(`(.*)((a)b)(.*)a`) re := regexp.MustCompile(`(.*)((a)b)(.*)a`)
fmt.Println(re.NumSubexp()) fmt.Println(re.NumSubexp())
// Output: // Output:
// 0
// 4 // 4
} }
...@@ -348,6 +354,7 @@ func ExampleRegexp_FindIndex() { ...@@ -348,6 +354,7 @@ func ExampleRegexp_FindIndex() {
// [18 33] // [18 33]
// option1: value1 // option1: value1
} }
func ExampleRegexp_FindAllSubmatchIndex() { func ExampleRegexp_FindAllSubmatchIndex() {
content := []byte(` content := []byte(`
# comment line # comment line
...@@ -373,3 +380,13 @@ func ExampleRegexp_FindAllSubmatchIndex() { ...@@ -373,3 +380,13 @@ func ExampleRegexp_FindAllSubmatchIndex() {
// option2 // option2
// value2 // value2
} }
func ExampleRegexp_FindAllIndex() {
content := []byte("London")
re := regexp.MustCompile(`o.`)
fmt.Println(re.FindAllIndex(content, 1))
fmt.Println(re.FindAllIndex(content, -1))
// Output:
// [[1 3]]
// [[1 3] [4 6]]
}
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment