Renamed 'FindAllMatches' to 'FindAll' and made it a method; made it return a slice of 0-groups; the functionality of 'FindAllMatches' is now in 'FindAllSubmatch'
This commit is contained in:
@@ -153,8 +153,9 @@ func (regex Reg) FindString(str string) string {
|
||||
// FindAllString is the 'all' version of FindString.
|
||||
// It returns a slice of strings containing the text of all matches of
|
||||
// the regex in the given string.
|
||||
func FindAllString(regex Reg, str []string) []string {
|
||||
func (regex Reg) FindAllString(str string) []string {
|
||||
return []string{}
|
||||
// matches := FindAllMatches, str string)
|
||||
}
|
||||
|
||||
// FindNthMatch finds the 'n'th match of the regex represented by the given start-state, with
|
||||
@@ -179,9 +180,18 @@ func FindNthMatch(regex Reg, str string, n int) (Match, error) {
|
||||
return nil, fmt.Errorf("invalid match index - too few matches found")
|
||||
}
|
||||
|
||||
// FindAllMatches tries to find all matches of the regex represented by given start-state, with
|
||||
// the given string
|
||||
func FindAllMatches(regex Reg, str string) []Match {
|
||||
// FindAll returns a slice containing all the 0-groups of the regex in the given string.
|
||||
// A 0-group represents the match without any submatches.
|
||||
func (regex Reg) FindAll(str string) []Group {
|
||||
indices := regex.FindAllSubmatch(str)
|
||||
zeroGroups := funcMap(indices, func(m Match) Group {
|
||||
return m[0]
|
||||
})
|
||||
return zeroGroups
|
||||
}
|
||||
|
||||
// FindAllSubmatch returns a slice of matches in the given string.
|
||||
func (regex Reg) FindAllSubmatch(str string) []Match {
|
||||
idx := 0
|
||||
str_runes := []rune(str)
|
||||
var matchFound bool
|
||||
@@ -196,6 +206,7 @@ func FindAllMatches(regex Reg, str string) []Match {
|
||||
if len(indices) > 0 {
|
||||
return pruneIndices(indices)
|
||||
}
|
||||
|
||||
return indices
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user