1
0
mirror of https://github.com/golang/go synced 2024-11-24 22:57:57 -07:00

regexp: delete Iter methods

They are unused and not that useful anyway.

R=rsc
CC=golang-dev
https://golang.org/cl/2225045
This commit is contained in:
Rob Pike 2010-09-21 21:21:44 +10:00
parent 6952347200
commit 4659f6de38

View File

@ -1149,42 +1149,6 @@ func (re *Regexp) allMatches(s string, b []byte, n int, deliver func([]int)) {
}
}
// TODO: AllMatchesIter and AllMatchesStringIter should change to return submatches as well.
// AllMatchesIter slices the byte slice b into substrings that are successive
// matches of the Regexp within b. If n > 0, the function returns at most n
// matches. Text that does not match the expression will be skipped. Empty
// matches abutting a preceding match are ignored. The function returns a
// channel that iterates over the matching substrings.
func (re *Regexp) AllMatchesIter(b []byte, n int) <-chan []byte {
if n <= 0 {
n = len(b) + 1
}
c := make(chan []byte, 10)
go func() {
re.allMatches("", b, n, func(match []int) { c <- b[match[0]:match[1]] })
close(c)
}()
return c
}
// AllMatchesStringIter slices the string s into substrings that are successive
// matches of the Regexp within s. If n > 0, the function returns at most n
// matches. Text that does not match the expression will be skipped. Empty
// matches abutting a preceding match are ignored. The function returns a
// channel that iterates over the matching substrings.
func (re *Regexp) AllMatchesStringIter(s string, n int) <-chan string {
if n <= 0 {
n = len(s) + 1
}
c := make(chan string, 10)
go func() {
re.allMatches(s, nil, n, func(match []int) { c <- s[match[0]:match[1]] })
close(c)
}()
return c
}
// Find returns a slice holding the text of the leftmost match in b of the regular expression.
// A return value of nil indicates no match.
func (re *Regexp) Find(b []byte) []byte {